java - 从 MAIN.java 启动 JFrame.java 与使用 run 通过光标启动 Jframe.java 不同吗?

标签 java swing

我有一个项目,我使用自定义图标作为按钮和其他外观选项(灵感来自 youtube 上的教程)。 我知道使用 Main.java 类启动项目将生成我需要的 jar 文件。(我在 Main.java 中使用 新的PrincipalFrame().setVisible(true); ) 我不明白的是为什么应用程序的外观与我使用 run 时不同(左光标然后运行) 运行为我提供了我在 Netbeans 设计器 View 上所做的设计,但主要为我提供了(我的感受)基本或标准 View (如 win98)。

请帮助我

当我使用 Main call the Main by the code of setVisible 时的图像 当我使用 run enter image description here 时的图像

最佳答案

您的第一个 jframe 使用 metal 外观和感觉,第二个框架使用 nimbus 外观和感觉。 read more about look and feel

当你从netbeans运行时,netbeans自动将外观设置为nimbus。如果你检查main方法,就会有这样的代码。

enter image description here

如果您点击+标记,您将看到类似

的代码

<小时/> enter image description here

在你的问题中,第一帧看起来[像win98],因为你没有设置外观和感觉,它使用默认的外观和感觉metal

所以当你在没有netbeans的情况下运行时,你需要做的就是在主方法中将外观设置为nimbus

改变这个

public static void main(String args[]) {

     new PrincipalFrame().setVisible(true); // metal L&f

}

至以下

public static void main(String args[]) {
    try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {


               if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
               }
            }
    } catch (Exception ex) {
               ex.printStackTrace();
    }

    new PrincipalFrame().setVisible(true); // now you have set nimbus L&f

}

但是当您设置外观时,最好单独捕获异常。然后您可以从 netbeans main 方法复制并粘贴您的 main 方法。 this is better way to do it

关于java - 从 MAIN.java 启动 JFrame.java 与使用 run 通过光标启动 Jframe.java 不同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27671377/

相关文章:

java - 如何让一个方法在后台持续运行?

java - 新的 ArrayList<Integer>();在 Java 中给出语法错误

java - 调用 CRUD 时检查 "parent"是否存在并读取或连接?

java - 为什么我的纹理不起作用?

java - 如何在 TextArea 中重新定位光标

java - 将图像从文件夹拖放到 JTextPane

java - 尝试使用 PowerMock 模拟静态系统类会给出 VerifyError

java - 我必须从java程序调用.sql文件

java - MongoDB 副本集 - 分发查询

java - 用 Java 制作标签创建器