大家 我在Java swing应用程序中获得了损坏的组件,一旦开始使用Look and Feel类。
在我的java swing应用程序中,在使用任何外观和感觉之前,gui看起来很无聊和平坦。但是,请看这个截图
我开始使用Nimbus Look and feel将其添加到代码中
UIManager.put("control", new Color(210, 210, 210)) ;
UIManager.put("TextField.background", new Color(250, 250, 210)) ;
UIManager.put("ComboBox.selectionBackground", new Color(250, 250, 210))
;
try {
for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
UIManager.setLookAndFeel(info.getClassName());
break;
}
}
}
catch (Exception e) {
}
现在,屏幕截图上的同一个窗口已损坏
发生了什么事?怎么解决?有谁知道吗?
在评论中的一些回复后进行编辑。比起你们提起重新调整窗户的问题。
=============================================== ========================= 以下是它是如何完成的示例:(代码不完全是我的,许多窗口都不是由我制作的,所以我必须潜入并分析它)
pack();
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setSize(new Dimension(570, 700));
setLocation((screenSize.width-450)/2,(screenSize.height-550)/2);
有一次,我删除了pack()下面的代码,我没有损坏的GUI问题 我注意到,然而整个窗口变得比它更高更薄。
此外,关于这个问题 我使用上面的代码spinet(在try-catch中)将新的LookAndFeel提供给我的应用程序 我也可以通过-D JVM选项来完成它。什么是更好或更可接受的方式? 根据我的理解,我认为在代码中做得更好,因为我可以使用UIManager.put(key,value)来缩小新外观的特定颜色或属性。我在使用-D JVM Options时尝试过这样做,但是它没有提取它。无论我是否更改了代码中的颜色,窗口仍然看起来都是一样的。