Java 班次与x2B之间的差异;F6并右键单击运行?

Java 班次与x2B之间的差异;F6并右键单击运行?,java,netbeans,Java,Netbeans,我在netbeans中做了一个java项目,最近我发现在两种情况下存在UI差异。1.如果我右键单击并运行主项目,或者如果我按Shift+F6。 如果我使用Shift+F6,将出现一个漂亮的用户界面(请参见按钮): 如果我右键单击我的项目并运行它;按钮样式看起来很古老: 我的问题是,为什么?第二件事;我想要的是,如果我通过JAR文件将我的程序传输到其他系统;漂亮的用户界面应该会出现。如何做到这一点?当我们通过单击“运行”来运行项目时,项目从主类文件开始,即,类具有主入口点。但当我们按下Shif

我在netbeans中做了一个java项目,最近我发现在两种情况下存在UI差异。1.如果我右键单击并运行主项目,或者如果我按Shift+F6。 如果我使用Shift+F6,将出现一个漂亮的用户界面(请参见按钮):

如果我右键单击我的项目并运行它;按钮样式看起来很古老:


我的问题是,为什么?第二件事;我想要的是,如果我通过JAR文件将我的程序传输到其他系统;漂亮的用户界面应该会出现。如何做到这一点?

当我们通过单击“运行”来运行项目时,项目从主类文件开始,即,类具有主入口点。但当我们按下Shift+F6时,当前在编辑器窗口中打开的文件将使用其自己的主功能运行。所以,也许你也在做同样的事情。可能您已经在一个文件中设置了项目的外观,而不是定义GUI的文件,您只需按Shift+F6启动GUI框架。因此,在不设置L&F的情况下启动框架。
只需清理并构建项目,然后查看最终的.jar文件的输出。

问题的第二部分请参阅文档。运行项目会编译并运行项目,其中包含可以设置的任何项目属性,而Shift+F6运行文件时不包含项目属性。项目属性很可能将Look and feel设置为
CrossPlatformLookAndFeel
(更丑的一个),而运行文件时默认设置为
SystemLookAndFeel
,从运行文件的操作系统获取其属性。要确保始终获得更漂亮的外观,请添加
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName())
作为主方法中的第一个命令。这是boxed的链接。@ufis我还有一个疑问,我喜欢这个外观(OS:Windows8);但问题是,我也将在不同的操作系统上运行我的程序,比如WindowsXP,即使在那里,我也想要这个UI;那么,有什么方法可以将这个UI文件复制到我的程序或其他东西中吗?@DakshShah
SystemLookAndFeel
将从操作系统获取它的属性。因此,在XP上运行将获得“看起来像XP”的外观和感觉,这仍然不是丑陋的
跨平台的外观和感觉。创建一个在多个平台上都相同的漂亮外观和感觉需要更多的工作。有关更多信息,请参阅。@ufis我想我是java新手,现在无法创建UI;因此,是否有一种方法可以将ui与我的程序一起保存,因此当我在没有该ui的其他系统上运行ui时,它总是显示我的ui,这是不必要的,这是该ui,但可能其他一些好看的ui也可以工作。(我会尽量简化一点;比如假设它是html;按钮是自动的,但我可以创建一个按钮的图像并保存在gallery中,在任何地方都可以使用。所以我想要这样的东西——我不希望按钮成为图像。但我希望你现在明白我的意思了……)