本机操作系统的外观和感觉Netbeans不适用于UIManager.setLookAndFeel(nativeLF);

时间:2012-10-09 17:12:46

标签: java windows user-interface look-and-feel netbeans-7.1

我一直在寻找互联网(当然特别是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

2 个答案:

答案 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

http://www.javootoo.com/

答案 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