下次如何显示文件选择器选择的下一张图像 这是我的代码,有一个filechooser来选择文件并在jlabel上显示图像。 图像缩放到正确的大小,但当我尝试选择下一个或其他 图像文件通过filechooser ..新图像没有显示出来..以前的图像 仍然在那里..无法显示更新的图像.. 我还在文本字段中设置了图像的路径名并进行了设置 正确。但图像没有在jlabel上更新......
请任何人告诉我在哪里 我的代码错了..
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
JFileChooser jFileChooser1 = new JFileChooser();
repaint();
jFileChooser1.setAcceptAllFileFilterUsed(false);
int state = jFileChooser1.showOpenDialog(new JFrame());
jTextField1.setText("");
jLabel1 = new JLabel();
if (state == JFileChooser.APPROVE_OPTION) {
file = jFileChooser1.getSelectedFile();
s2 = file.toString();
jTextField1.setText(s2);
jLabel1.setName(s2);
jLabel1.setLocation(40, 40);
jLabel1.setSize(300, 300);
jLabel1.setVisible(true);
try {
bi = ImageIO.read(file);
// JOptionPane.showMessageDialog(new JFrame(),file.getName());
icon = new ImageIcon(bi);
Image img = icon.getImage();
icon = new ImageIcon(file.getPath());
// icon = new ImageIcon(paths[currentIndex].getPath());
scaleImage = icon.getImage().getScaledInstance(80, 80,
Image.SCALE_DEFAULT);
resizedImage = resize(bi, 200, 200);
icon = new ImageIcon(resizedImage);
jLabel1.setIcon(icon);
jLabel2 = new JLabel();
repaint();
pack();
paths = file.getParentFile().listFiles();
currentIndex = indexOf(paths, file);
} catch (Exception e) {
System.out.println(e);
}
} else if (state == JFileChooser.CANCEL_OPTION) {
JOptionPane.showMessageDialog(new JFrame(), "Canceled");
}
add(jLabel1);
}
答案 0 :(得分:2)
不要重新创建jLabel1。将它存储在类的一个字段中,只需调用setIcon()从文件选择器传递图像