im coding a program using windowbuilder in eclipse. I would like to have 开发者_StackOverflowhelp with changing the design (Look and feel) from metal to windows. How would i do that? thank you
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.
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?
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
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
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);
}
精彩评论