不使用图像名称从eclipse的资源文件夹中读取图像

时间:2015-08-09 02:53:21

标签: java eclipse image swing

我想在不使用图像名称的情况下从eclipse的资源文件夹中读取图像。截至目前,我正在从当前目录中读取它并采用绝对路径(photoPath),以便我可以在JFrame的其他面板中重现Image。但是,如果我让可执行jar开始从当前目录中获取图像,我的图像文件夹就不会出现了。这是我的图像选择代码

    imageChooser = new JButton("ImageChooser");
    panel1.add(imageChooser);
    fc = new JFileChooser();
    imageLabel = new JLabel();
    imageChooser.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {

            fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
            fc.setCurrentDirectory(new File("."));
            int result = fc.showOpenDialog(imageChooser);

            if (result == JFileChooser.APPROVE_OPTION) {

                currentFile = fc.getSelectedFile();
                imageLabel.setIcon(new ImageIcon(currentFile.toString()));
                panel1.add(imageLabel);
                panel1.validate();
                photoName=fc.getSelectedFile().getName();
                photoPath = currentFile.getAbsolutePath();
            }
        }
    });

这是我的结构

enter image description here

1 个答案:

答案 0 :(得分:1)

使用.getResource()

示例:

new ImageIcon(getClass().getResource("/images/button.png"))

这也适用于JAR。