如何更改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

在此处输入图像描述

你有两个选择:

  1. 在编辑器中打开模板并在那里进行修改。
  2. 创建一个重复的模板并修改最后一个。

我选择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对象。