我一直在寻找互联网(当然特别是StackOverflow :))以解决以下问题。 Netbeans提供了“出色的”默认外观和感觉,因此我希望将其更改为原生外观。我的意思是,正在运行的程序看起来不像设计的GUI 。因此,当您在Windows PC上进行设计时,该程序看起来像Windows,因此对于Mac等。
所以,我在这个网站上搜索过,发现很多次像这样的代码:
private void setLookAndFeel() {
// Get the native look and feel class name
String nativeLF = UIManager.getSystemLookAndFeelClassName();
try {
UIManager.setLookAndFeel(nativeLF);
} catch (ClassNotFoundException | InstantiationException |
IllegalAccessException | UnsupportedLookAndFeelException ex) {
Logger.getLogger(GUI.class.getName()).log(Level.SEVERE, null, ex);
}
}
source: http://www.exampledepot.com/egs/javax.swing/LookFeelNative.html
但是......它不适合我。
我会得到一个nullpointerexception,这很长(584行)。
我希望有人可以帮助我。
提前致谢!
戴夫
Backgroundinformation : - Netbeans 7.1.2 - Windows 7的 - 不会像这样工作:http://www.exampledepot.com/egs/javax.swing/LookFeelNative.html
答案 0 :(得分:2)
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
当它在WINDOWS中时,上面会给出windows的外观和感觉。如果在Linux中,那么Linux的外观和感觉。使用它的最佳位置是在你的主要方法中,如下面的
*/
public class MyPhoneBookApp {
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
try
{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
new MainForm();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
如果您需要基于操作系统不会改变的外观和感觉,并且看起来非常好,请查看以下包含外观的链接Jars
答案 1 :(得分:0)
- AWT
具有平台相关外观,但Swing
没有。
- 如果您使用没有额外的努力在AWT
中对GUI进行编码,那么您的代码将具有native look and feel.
- 您可以在Swing程序中使用setNativeLookAndFeel
。
请参阅此链接:
http://www.apl.jhu.edu/~hall/java/Swing-Tutorial/Swing-Tutorial-LAF.html