我想通过按按钮在面板上显示图像。我创建一些代码

JButton btnNewButton = new JButton("next");
    btnNewButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            if(i<files1.length){
                BufferedImage bi;
                try {
                    bi = ImageIO.read(new File(""+files1[i]));
                    System.out.println(files1[i]);
                    JLabel label = new JLabel(new ImageIcon(bi));
                    panel_1.add(label);
                    panel_1.repaint();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            else
                System.out.println("end of picture");
            i++;
        }
    });


但是单击按钮后图像不显示。

最佳答案

但是单击按钮后图像不显示。


好像您缺少revalidate()。将组件添加到可见GUI时的基本代码是:

panel.add(....);
panel.revalidate(); // to invoke the layout manager
panel.repaint();

10-06 13:11
查看更多