使用Java在Mac上使用Netbeans GUI构建器构建。
这就是Netbeans中GUI的样子:
当我点击预览时,它看起来并不太糟糕,但有一些小变化:
最后,当我运行它时,它看起来像这样: - 可怕的
我认为这与Java的“外观和感觉”有关。我试过删除它,GUI变得一团糟。那么我的选择是什么?正如你可以看到Netbeans中的所有内容一样,当我运行它时,一切都很糟糕。
有什么想法吗?花了一天时间搞砸了这个,我已经厌倦了至少说
答案 0 :(得分:5)
从外观上看,Netbeans中的预览使用的是运行应用程序时Java正在使用的其他外观。
但是,您可以尝试手动设置所需的外观。 Oracle提供tutorial,关于如何获取和设置外观。
答案 1 :(得分:5)
在代码的某些地方,Netbeans会创建一个main
方法(这将在Netbeans执行的类中,并且可能是您的主框架 - 我认为这将是SPPMainGUI
)< / p>
它看起来像这样(请注意,它可能会“折叠”,因此您只能看到第一条评论和第二条评论的decs
(Look and feel setting code (optional)
)
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
点击边距中的小+展开代码区,然后将for-loop
替换为UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
,如下所示
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
当afsantos发现问题时,如果你能接受他的答案是正确的(并且反过来投票给我),我会赞美它,轻推,轻推,眨眼,眨眼,不再说了)
答案 2 :(得分:1)
正如你所提到的,它与外观和感觉有关,所以真的,如果找到L&amp; F Netbeans默认使用的唯一问题。 Google提出this page。我引用,
在NetBeans 7中,默认外观自动设置为Nimbus 外观和感觉。
Nimbus是一款优雅的跨平台外观 Java SE 6 Update 10(6u10)发布。
要启用Nimbus外观,只需在某处添加这些不言自明的行:
try {
for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (Exception e) {
// If Nimbus is not available, you can set the GUI to another look and feel.
}