0

我一直在浏览互联网(当然是 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

但是……它对我不起作用。

我会得到一个空指针异常,它很长(584 行)。

我希望有一个人可以帮助我。

提前致谢!

戴夫

背景信息: - Netbeans 7.1.2 - Windows 7 - 不会像这样工作:http ://www.exampledepot.com/egs/javax.swing/LookFeelNative.html

4

2 回答 2

2
 UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

当它在 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/

于 2012-10-09T17:47:01.507 回答
0

- AWT具有平台相关的外观和感觉,但Swing没有。

-如果您在您的 GUI 中编写代码AWT无需额外的努力,您的代码将具有native look and feel.

-您可以setNativeLookAndFeel在 Swing 程序中使用。

请参阅此链接:

http://www.apl.jhu.edu/~hall/java/Swing-Tutorial/Swing-Tutorial-LAF​​.html

于 2012-10-09T17:17:34.937 回答