Так что я делаю эту программу с графическим интерфейсом, и я не слишком много работал с Swing / SWT, но немного, чтобы знать, что происходит.
В любом случае, я добавляю actionlistener для кнопки, чтобы он добавлял изображение в contentPane, когда я нажимаю на кнопку, но он не работает, если у меня нет его в качестве JComponent (как показано ниже), и добавляю другой вещи (кнопка, JLabel и т. д.) к нему потом ... И установить этот JComponent в представление содержимого (что не имеет смысла) .... Я также попытался заставить его расширить JPanel и просто очистить исходное содержимое и повторно добавив их в новый JPanel. Дело в том, что когда я делаю это, он странным образом воссоздает текст для моей JLabel, и я просто знаю, что должен быть более простой, более эффективный способ.
class ShowImage extends JComponent{
public ShowImage(){
super();
monkey = Toolkit.getDefaultToolkit().getImage(("D:/monkey.png"));
}
public void paintComponent(Graphics g){
g.drawImage(monkey, 20, 100, null);
repaint();
}
}