我有一个csv文件,其中包含我所有图像的文件名。我想从该文件中提取文件名,并使用它们将相应的图像添加到我的GUI中。我有很多图像,因此我无法输入所有文件路径。
如果我使用
,它会起作用img = new ImageIcon("resources/imagename.jpg");
但如果我使用
则不行String fileName = "resources/" + fileNameExtractedFromCSVFile;
img = new ImageIcon(fileName);
它提取的文件名很好,它只是不会用它来定位图像。我将不胜感激任何帮助。
答案 0 :(得分:0)
在使用之前检查fileNameExtractedFromCSVFile的值。好像它没有正确填充。如果您使用的是IDE,请尝试在DEBUG模式下运行代码并在此行上放置一个断点以查看变量的值。
答案 1 :(得分:0)
如果我确实理解了你需要这样的东西,请看下面的演示及其代码。另外,请在您的应用程序中创建图像包。
将此方法添加到您的课程中以阅读csv
public void csvread() throws IOException
{
File file = new File("filenames.csv");
List<String> lines = Files.readAllLines(file.toPath(),
StandardCharsets.UTF_8);
for (String line : lines) {
String[] array = line.split(",");
jTextArea1.append(array[0]+"\n");
}
}
按钮csv阅读操作
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt){
try {
csvread();
} catch (IOException ex) {
Logger.getLogger(ImageDisplay.class.getName()).log(Level.SEVERE, null, ex);
}
}
发布文本区域鼠标获取选定文本并在jlabel上显示图像
private void jTextArea1MouseReleased(java.awt.event.MouseEvent evt) {
if (jTextArea1.getSelectedText() != null) {
String s = jTextArea1.getSelectedText();
ImageIcon imageselect = new ImageIcon(getClass().getResource("/images/" + s));
jLabel2.setIcon(imageselect);
} else {
jLabel4.setVisible(true);
}
}