【发布时间】:2011-08-07 06:08:30
【问题描述】:
我试图在JDialog 上看到GlassPane,但我看不到任何东西。为什么会发生?如何使GlassPane 在JDialog 上可见?
这就是我正在做的事情:
public class New_Window extends JDialog {
public New_Window(int Screen_Index, int Start_Panel, int Length) {
super(new Frame(Monitors.getInstance().getNextDevice()
.getDefaultConfiguration()), Title, false);
setLayout(new BorderLayout());
setGlassPane(glassPane);
getGlassPane().setVisible(true);
getContentPane().setBackground(Color.black);
JPanel Container = new JPanel(new FlowLayout(FlowLayout.CENTER, 2, 2));
Container.setOpaque(false);
getContentPane().add(Container, BorderLayout.CENTER);
[...]
}
}
注意:我使用的是 Java 版本 6 更新 24。我使用的是自定义 GlassPane,其 opaque 值设置为 false。
【问题讨论】:
-
请给我们更完整的代码。玻璃窗格的 opaque 值设置为 false。如果您使用的是默认值,那是您的问题。但我猜的很明显。
-
我正在使用版本 6 更新 24 并且我正在使用自定义 glassPane 并且其不透明值设置为 false
-
这没有帮助,我仍然无法在 JDialog 上看到我在玻璃窗格上绘制的图像
-
好的。那么问题就更严重了。您的代码中一定有一些错误,我们可以看到吗?让我们成为您的代码的SSCCE。我们可以在哪里看到您如何分配所有变量以及将它们放在哪里。您可能会感到惊讶,这样做您自己可能会发现问题。
-
当您发布您的 SSCCE 时,请使用正确的变量名称。变量名不应以大写字符开头。我从未见过这样做的教程或书籍,所以不要制定自己的规则并遵循标准。
标签: java swing visibility