如何更改Jframe的默认外观? (不是Netbeans的主题)
我想改变我将从这里创建的所有jframe表单的默认外观,而不必手动编辑我从’Nimbus’到’Windows’创建的每个jframe的每个外观代码。
所以我想要发生的是从我启动Netbeans到创建新Jframe时,我刚刚创建的Jframe的外观和感觉代码将自动设置为“Windows”而不是“Nimbus”。
单击“新建> Jframe表单”后,我希望外观代码看起来像这样:
try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Windows".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } }
注意:我不是试图主题Netbeans本身,我只是希望我创建的Jframe默认情况下具有窗口的外观和感觉所以我不必通过源选项卡并将Nimbus更改为Windows我为每个创建的Jframe 。
首先来看看这个主题: 多个JFrame的使用,好/坏的做法?
注意:我不是试图主题Netbeans本身, 我只是希望我创建的Jframe默认情况下具有窗口的外观和感觉所以我不必通过源选项卡并将Nimbus更改为Windows我为每个创建的Jframe 。
您想要更改的内容称为模板:您可以通过“ 新建文件”向导创建的每个文件都有一个关联的模板。 说过这个NetBeans后,开发人员可以更新/创建默认模板。 转到工具 – >模板,然后查找Swing GUI表单 – > JFrame
你有两个选择:
- 在编辑器中打开模板并在那里进行修改。
- 创建一个重复的模板并修改最后一个。
我选择2只是为了保持原始模板不被修改。
编辑模板时,只需修改此行(或实际需要的观察者):
最后创建一个新的“自定义” JFrame
只需在Swing GUI Forms中找到您的模板– > MyJFrameTemplate ,如下所示:
此外
阅读@Misgevolution在下面的评论我认为有一些事情需要澄清。 这个自动生成的main
方法仅用于测试目的,使开发人员能够“运行”顶级容器。 Java应用程序只需要一个main
类,因此在部署应用程序时应删除此仅测试main
方法。 正如其他答案中所建议的那样,L&F应该只在启动时建立一次,而不是在每个顶级容器中建立。
1. try { 2. for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { 3. if ("*Windows*".equals(info.getName())) { 4. javax.swing.UIManager.setLookAndFeel(info.getClassName()); 5. break; 6. } 7. } 8. }
在第3行’只需用“Nimbus”替换“windows”并将此代码放在应用程序的主框架中并以嵌套forms调用另一帧,它将自动为所有表单应用nimbus theam。
请参阅java教程中的“ 更改启动后的外观”部分。 你必须像这样打电话:
UIManager.setLookAndFeel(lnfName); SwingUtilities.updateComponentTreeUI(frame); frame.pack();
其中lnfName
是LookAndFeel名称, frame
是您的JFrame
对象。