到目前为止,我有这个
public static void main(String[] args) {
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
UIManager.getBorder("design");//change look and feel here?
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Nimbus isn't available");
}
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
design GUI = new design();
GUI.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GUI.setVisible(true);
}
});
}
我正在尝试使用主要的外观和感觉灵气,但是将标题边框改为窗口。
我的边界是这样的:
contentPanel.setBorder(new TitledBorder("Downloader"));
有可能吗?如果有人可以指出我在哪里看?我现在很困惑。 :\
感谢。
答案 0 :(得分:2)
我做到了。您必须创建UI的一部分,然后调用UIManager.setLookAndFeel()来更改外观和外观。感觉,然后创建其他部分。它更像是一个黑客。
答案 1 :(得分:0)
创建Component
后,当前LookAndFeel
将用于显示Component
。
答案 2 :(得分:0)
我知道我来晚了,但是我认为可能有人会使用它,这是我用来向应用程序添加多种外观的一种技巧:在启动项目之前,先将外观选择器放在其中(在编写= new之前) ...)
try {
for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
if ("Windows".equals(info.getName())) {
UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException
| UnsupportedLookAndFeelException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
,然后将UIManager外观恢复为外观,如下例所示:
JButton test;
try {
for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
if ("Windows".equals(info.getName())) {
UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException
| UnsupportedLookAndFeelException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
test = new JButton();
try {
for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
if ("Mwtal".equals(info.getName())) {
UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException
| UnsupportedLookAndFeelException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
仅此按钮测试将具有窗口的外观,其余的将具有Metal的外观。
希望此hack可以帮助某人。