Как загрузить изображение, нажав на кнопку в JPanel? - PullRequest
0 голосов
/ 25 сентября 2019

Я хочу отобразить картинку в JPanel после нажатия на кнопку, но не могу.Как сделать?

В этом коде, если func() находится в части конструктора, он будет работать правильно.Но в actionPerformed он не будет работать, и изображение не будет загружено.

Код :

public class Test3 implements ActionListener {

    JFrame f = new JFrame();
    JButton b = new JButton("edit");
    JPanel j1 = new JPanel();

    public Test3() {
        f.setBounds(0, 0, 1600, 900);
        f.setVisible(true);
        f.setLayout(null);

        b.setBounds(500, 30, 100, 40);
        f.add(b);
        b.addActionListener((ActionListener) this);
        f.pack();
    }

    public void func() {       
        JPanel j = new JPanel();
        j.setBackground(new Color(7243183));
        j.setBounds(0, 0, 400, 300);
        j.setLayout(null);
        f.add(j);
        j.add(new JLabel(new ImageIcon("C:\\Users\\png\\Pictures\\aa.jpg")));
    }

    public static void main(String[] args) {
        new Test3();
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == b) {
            b.setBackground(Color.red);            
            func();
        }
    }
}
...