【发布时间】:2014-07-23 20:17:56
【问题描述】:
我有一个应用程序,我编译成一个可执行的 jar 文件,比如说 app.jar。当我运行它时,它看起来就像一个原生的 mac 应用程序,看起来很让人想起我对 swing 的有限了解。然后,我使用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());
}
});
}
}
jar 看起来像摇摆,上面写着“/Users/me/Documents/app/dist/”。而应用看起来像 AWT 并显示“/Users/me/”。
切换的任何原因?我更喜欢 swing 和 jar 文件的目录,但我需要将其格式化为应用程序。
【问题讨论】:
-
查看How to set the look and feel 并确保您已初始化应用程序以使用系统外观