【问题标题】:How to get the windows native look in Java GUI programming?如何在 Java GUI 编程中获得 Windows 原生外观?
【发布时间】:2012-07-10 15:00:33
【问题描述】:

我是 Java 编程新手,想知道是否可以在 Java GUI 应用程序中获得 Windows 原生外观。显然 Swing 不起作用。

【问题讨论】:

    标签: java windows swing user-interface


    【解决方案1】:

    试试这个代码:

    javax.swing.UIManager.setLookAndFeel("Windows")
    

    【讨论】:

    • -1 错误 - 您至少需要 LAF 的完全限定类名
    • @RonE dooh,差点晕倒,很快就尝试了(你可能也做过 ;-) 它就像记录的那样抛出 java.lang.ClassNotFoundException: Windows,所以很好奇:你为什么这么认为?
    • @kleopatra 我的错误,我只是习惯了使用参数lookAndFeelString 来选择 L&F 的辅助方法。 for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) { if (lookAndFeelString.equals(info.getName())) { UIManager.setLookAndFeel(info.getClassName());}}我会删除我的其他评论以免误导。
    【解决方案2】:

    使用以下内容:

    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    

    阅读UIManagerHow to Set the Look and Feel 了解更多信息。

    【讨论】:

    • 如果你使用这个,你必须进行更新,你可以在下面的 Kumar 回答中看到:SwingUtilities.updateComponentTreeUI(frmae);updateComponentTreeUI(frame);
    • @Csanesz 如果在应用程序启动后 UI 已经可见时更改 L&F,则需要 updateComponentTreeUI,否则不需要。上述教程讨论了各种选项。
    【解决方案3】:

    试试这个....

    语法是:

    UIManager.setLookAndFeel(PLAF); (Pluggable Look and Feel)

    所以,您必须包含以下 3 行。

    UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
    
    SwingUtilities.updateComponentTreeUI(frame);
    
    updateComponentTreeUI(frame);
    

    SwingUtilities.updateComponentTreeUI(frame)用于刷新改变后的frame。

    【讨论】:

    • a) 不建议对类名进行硬编码 b) 不需要三行中的第三行(它已经在第二行中处理了 :-)
    • 只有第一行是必要的,如果你在实现任何 GUI 组件之前运行它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-16
    • 2011-11-13
    • 1970-01-01
    • 1970-01-01
    • 2010-11-13
    • 1970-01-01
    相关资源
    最近更新 更多