添加新的JLabel我有2 JLabels
,我添加MouseListener
其中之一,它可以刪除其他JLabel
並重新繪製它(當我點擊其中一個,另外一個變化Image
) 這是我的代碼,但它不起作用,它刪除JLabel
,但不要再畫一遍,我該怎麼辦?刪除和MouseListener的
ImageIcon icon_next = new ImageIcon("next-icon.PNG");
...
next = new JLabel(icon_next);
...
next.addMouseListener(this);
player_img_lbl = new JLabel(player_img_ico[0]);
add(player_img_lbl, FlowLayout.CENTER);
....
@Override
public void mouseClicked(MouseEvent e) {
this.remove(player_img_lbl);
JLabel player_img_lbl = new JLabel(player_img_ico[1]);
add(player_img_lbl0,FlowLayout.CENTER);
repaint();
}
有另一種方式存在,這時候我點擊JLabel
之一,它可以改變另一個的Image
?
player_img_lbl被用作一個場並作爲局部變量。這不是一個好主意。 – Fortega
我的問題是,你爲什麼要刪除標籤? 您可以將可見性設置爲false,或更新偵聽器操作中標籤的內容。對於這些你不必刪除標籤。刪除和添加可能會破壞佈局,這會混淆用戶。 –