Java Eclipse WindowBuilder,更改外观和感觉。

10

我正在使用Eclipse中的WindowBuilder编写程序。我希望能够得到有关如何将设计(外观和感觉)从Metal更改为Windows的帮助。我该怎么做?谢谢


http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/index.html - mKorbel
@mKorbel,由于某些原因,您的链接未显示正确的文章。 - Eugene Ryzhikov
5个回答

18
在Eclipse中,依次点击以下菜单:Window > Preferences > WindowBuilder > Swing > LookAndFeel,选中Apply choosen LookAndFeel in main() method。这样,无论何时在WindowBuilder的设计视图中更改外观,都会应用到代码中。

5

Swing调用如下:

try {
  UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch(Exception e) {
  System.out.println("Error setting native LAF: " + e);
}

我记得在 SWT 中,当你循环浏览主题时,窗口的装饰会自然地改变,因为小部件实际上是本机操作系统的。您使用的是 Swing 还是 SWT?

2

2
实际上,它确实可以,尽管我认为问题没有表述得足够清楚。WindowBuilder工具栏有一个下拉菜单,允许您更改外观和感觉,但它实际上不像大多数其他工具栏命令那样修改源代码,只是预览。Mohammad上面的答案修复了这个行为。 - The111

2

我曾尝试在首选项中设置WIndow Builder使用系统外观,但仍然不起作用,但simgineer的解决方案有效。我会在simgineer的帖子中添加特定的代码添加位置,以及应该使用的标签,以便从Window Builder解析器隐藏代码。在您的主应用程序窗口中...

public static void main(String[] args) {                
    // hide>>$
    try {
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    } catch(Exception e) {
        System.out.println("Error setting native LAF: " + e);
    }
    // $hide<<$

    EventQueue.invokeLater(new Runnable() {
        public void run() {
            // generated code ...
        }
    });
}

干杯


0
 try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Windows".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(BiatApp.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(BiatApp.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(BiatApp.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(BiatApp.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }

欢迎来到 Stackoverflow。 请在回答中提供一些解释支持。 - Nagama Inamdar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接