-->

Java eclipse WindowBuilder, change look and feel

2020-02-06 02:03发布

问题:

im coding a program using windowbuilder in eclipse. I would like to have help with changing the design (Look and feel) from metal to windows. How would i do that? thank you

回答1:

In Eclipse go to

Window > Preferences > WindowBuilder > Swing > LookAndFeel

and tick

Apply choosen LookAndFeel in main() method.

This way whenever you change the look and feel in WindowBuilder's design view, it will be applied in the code.



回答2:

the Swing call is:

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

i recall in swt the window trims will change naturally when you cycle through the themes since the widgets are actually native to the os. are you using Swing or SWT?



回答3:

That has nothing to with WindowBuilder.

Please read Swing tutorial on Swing Look And Feel at http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html



回答4:

I had tried setting WIndow Builder to use the system look and feel in preferences, but it still did not work, but simgineer's solution did. I would add to simgineer's post the specific place to add the code, as well as the tags you should use to hide the code from the Window Builder parser. In you main application window...

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 ...
        }
    });
}

Cheers



回答5:

 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);
        }