Я хочу отобразить картинку в 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();
}
}
}