【问题标题】:how to display next image selected by file chooser next time下次如何显示文件选择器选择的下一张图像
【发布时间】:2025-12-10 21:00:01
【问题描述】:

下次如何显示文件选择器选择的下一张图片 这是我的代码,它有一个文件选择器来选择文件并在 jlabel 上显示图像。 图像正确缩放到适当的大小但是当我尝试选择下一个或其他时 图像文件通过文件选择器..新图像没有显示出来..以前的图像 剧照在那里..无法显示更新的图像.. 我还在文本字段中设置了图像的路径名,它被设置了 正确。但图像未在 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);

}

【问题讨论】:

    标签: java swing jfilechooser imageicon filechooser


    【解决方案1】:

    不要重新创建 jLabel1。将其作为类的字段存储在某处,然后调用 setIcon() 从文件选择器传递图像

    【讨论】:

      最近更新 更多