Java 外观和感觉在构建后发生了变化

Java 外观和感觉在构建后发生了变化,java,swing,netbeans,jar,build,Java,Swing,Netbeans,Jar,Build,我将程序中的外观更改为“windows”。 在清理和构建之后,我运行了.jar文件,但是LookAndFeel被更改了。 当我在Netbeans中编译程序时,我选择的“windows”LookAndFeel工作正常 问题在哪里?有图书馆漏掉了吗 来自德国的问候, 帕特里克 在我的框架课上: public static void main(String args[]){ main ref = new main(); String lookAndFeel = ref.getLookAndFeel;

我将程序中的外观更改为“windows”。 在清理和构建之后,我运行了.jar文件,但是LookAndFeel被更改了。 当我在Netbeans中编译程序时,我选择的“windows”LookAndFeel工作正常

问题在哪里?有图书馆漏掉了吗

来自德国的问候, 帕特里克

在我的框架课上:

public static void main(String args[]){
main ref = new main();
String lookAndFeel = ref.getLookAndFeel;
try{
for(javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()){
if(lookAndFeel.equals(info.getName())){
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}}}catch[...]

您的代码是正确的。也许你在另一边犯了错误。下面是一个帮助您解决问题的示例

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.UnsupportedLookAndFeelException;

public class LookAndFeel {

    public static void main(String... args) {
        String lookAndFeel = "Windows";
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if (lookAndFeel.equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
            System.out.println("ERROR : " + ex);
        }

        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                JFrame f = new JFrame("TESTING");
                f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                f.setSize(500, 300);
                f.setLayout(new java.awt.FlowLayout());
                f.add(new JButton("Click ME"));
                f.setVisible(true);
            }
        });
    }
}
我在我的电脑上用Netbeans和CMD运行它,它工作正常。
清理并构建之后
您将在项目的
dist
目录中获得一个.jar文件。

到达
dist
目录后,在cmd中写入以下命令

java -jar MyProject.jar
其中
MyProject
是我创建的项目的名称。
以下是我在电脑上每种情况下得到的输出:


当我尝试直接使用此代码设置LookAndFeel时:

javax.swing.UIManager.setLookAndFeel(com.sun.java.swing.plaf.windows.WindowsLookAndFeel);
netbeans被try-catch包围,给出了一个语法错误,并说:

cannot find symbol
symbol: class windows
location: package com.sun.java.swing.plaf
那么LaF没有找到?这是错吗


你好

耶,现在,它可以正常工作了

我在目录“c:\program files\java\jre\lib”中创建了一个名为“swing.properties”的文件 与文本一起

swing.defaultlaf=com.sun.java.swing.plaf.windows.WindowsLookAndFeel

现在,LookAndFeel有了正确的主题:)谢谢你的回答

你确定你的jar已经重建了吗?是的,我必须在构建之后用我的jpa连接测试更多的东西。因此,我必须每30秒清洁一次并建造一次:D.\我希望它能帮助你@这几乎是相同的代码。我有其他框架内容:(可能是因为您可能正在使用不同的JVM。我的意思是您的电脑上可能有两个不同的jdk版本,并且您在其中一个上设置了netbeans,在cmd上使用了另一个。请检查cmd的类路径。可能是这样的。@P4Zi)
swing.defaultlaf=com.sun.java.swing.plaf.windows.WindowsLookAndFeel