我看到这个问题已经被问过很多次了,但是我没有找到任何适合我的解决方案。
我正在尝试加载一个图像并在jdialog上显示它。当我从eclipse运行应用程序时,这是可行的,但是当我生成可执行jar(使用maven)并运行jar时,jdialog将显示为没有任何图像。
我把所有的类放在/src/main/java中,我的映像放在/src/main/resources中。当我打开maven生成的jar时,我可以找到我的图像,所以我猜问题不在于maven。
下面是我用来加载图像的代码(我在这里找到它:eclipse导出的runnable jar不显示图像):
URL url = myclass.class.getResource("/pic.gif");
ImageIcon icon = new ImageIcon(url);
如果可以的话,这就是这个类的全部代码:
public class LoadingWindow {
private JDialog dialog;
public LoadingWindow() {
this.dialog = new JDialog();
this.dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
this.dialog.setTitle("Veuillez patienter");
this.dialog.setSize(300, 200);
URL url = LoadingWindow.class.getResource("/wait.gif");
ImageIcon icon = new ImageIcon(url);
JLabel imageLabel = new JLabel();
imageLabel.setIcon(icon);
imageLabel.setHorizontalAlignment(JLabel.CENTER);
imageLabel.setVerticalAlignment(JLabel.CENTER);
this.dialog.getContentPane().add(imageLabel);
this.dialog.setLocationRelativeTo(null);
this.dialog.setVisible(true);
}
}
谢谢!
1条答案
按热度按时间zlwx9yxi1#
你的jar是可执行jar吗?通过maven生成的jar称为瘦jar,而不是可执行jar。当您想通过jar运行应用程序时,它必须是一个可执行jar。如果它不是可执行的jar,那么将下面的插件添加到pom.xml并构建项目。在您的目标文件夹中将生成2个jar。使用“jar with dependencies.jar”。