无法导出到带有图像的java eclipse项目中的runnable jar

时间:2014-12-21 22:48:56

标签: java eclipse export

我将第一个项目导出到可执行jar文件时遇到问题。它在eclipse中运行得很好但是当我在导出它之后单击双击可执行jar时,它什么也没做。我创建了多个测试程序,并在互联网上寻求帮助,并得出结论,它与程序中的图像有关。我已经包含了测试程序中的所有代码。它不会让我在我的项目中发布图像文件位置的图片,但它位于源文件夹中。

import java.awt.EventQueue;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;


public class test {

    private JFrame frame;
    JLabel label;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    test window = new test();
                    window.frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the application.
     */
    public test() {
        initialize();
    }

    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {
        frame = new JFrame();
        frame.setBounds(100, 100, 450, 300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        label = new JLabel("");
        Image img = new   ImageIcon(this.getClass().getResource("/YahtzeeBoard.png")).getImage();
        label.setIcon(new ImageIcon(img));
        label.setBounds(100, 100, 450, 300);
        frame.getContentPane().add(label);
    }

}

1 个答案:

答案 0 :(得分:0)

创建一个类似于Icons的java包,将图像放在那里,然后调用

 getResource("Icons/YahtzeeBoard.png")
这样,图像将被打包在jar中。

或者您可以将图像放在与路径的jar相同的文件夹中" /YahtzeeBoard.png"可以找到,因为它指向jar的文件夹。