我有一个应用程序,我编译成一个可执行的jar文件,让我们说app.jar。当我运行它时,它看起来像一个原生的mac应用程序,看起来很容易让人联想到我对摇摆的有限知识。然后,我使用Java's appBundler按照列出的说明捆绑jar文件,然后突然启动相同的项目看起来像AWT应用程序(更模糊,更像素化)。
除此之外,jar文件将以工作目录作为父文件夹启动(如果它dist/app.jar
,dist
是工作目录),而应用程序将显示我的用户驱动器(~
)作为工作目录。
下面是我正在捆绑的示例程序:
package test;
import java.io.File;
import javax.swing.JOptionPane;
public class Test{
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
JOptionPane.showMessageDialog(null, new File(".").getAbsolutePath());
}
});
}
}
罐子看起来像摇摆,然后说" / Users / me / Documents / app / dist /."虽然该应用程序看起来像AWT并且说" / Users / me /."
切换的原因是什么?我更喜欢swing和jar文件的目录,但是我需要将它格式化为应用程序。
答案 0 :(得分:1)
尝试强制使用"系统"外观和感觉...
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
ex.printStackTrace();
}
//...
这应该确保它覆盖任何其他设置......
请查看How to Set the Look and Feel了解详情
答案 1 :(得分:0)
也许这对AppBuilder来说很奇怪。 您是否尝试使用jar命令构建jar?
http://docs.oracle.com/javase/tutorial/deployment/jar/build.html