0
我想在事件發生時在屏幕上添加圖像。在我的情況下,這是來自一個被點擊的按鈕。我試圖自己解決這個問題,但圖像沒有出現。我不知道什麼是錯的。如何從一個事件在屏幕上放置圖像?
我的代碼:
JButton button2 = new JButton("+");
button2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
//Execute when button is pressed
System.out.println("button #2 working");
label2 = new JLabel(new ImageIcon(this.getClass().getResource("50.png")));
label2.setLocation(10, 60);
label2.setSize(300, 532);
add(label2);
//? Not working
}
});
button2.setSize(50, 40);
button2.setFont(new Font("Arial", 1, 20));
button2.setLocation(110, 592);
button2.setBackground(Color.ORANGE);
content.add(button2);
嘗試添加'revalidate();'你在哪裏發表評論'//?不工作' –
revalidate()只處理更新佈局,另一方面repaint()處理重繪或刷新視圖(組件)。爲此給出一個快速的比喻將是一個簡單的JTextField。無論何時在文本字段中輸入內容,Swing都會自動爲您調用repaint(),以便刷新或重新繪製組件以查看更改(即鍵入的字符) –
我想出了一個簡單的解決方案。我在屏幕上放置了一個圖像,並將其設置爲不可見。 image1.setVisible(假);點擊按鈕時,圖像將與image1.setVisible(true)一起顯示; –