我想在不使用图像名称的情况下从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();
}
}
});
这是我的结构
答案 0 :(得分:1)
使用.getResource()
示例:
new ImageIcon(getClass().getResource("/images/button.png"))
这也适用于JAR。