Java 外观和感觉在构建后发生了变化
我将程序中的外观更改为“windows”。 在清理和构建之后,我运行了.jar文件,但是LookAndFeel被更改了。 当我在Netbeans中编译程序时,我选择的“windows”LookAndFeel工作正常 问题在哪里?有图书馆漏掉了吗 来自德国的问候, 帕特里克 在我的框架课上: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;
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