我有2 JLabels
,我向其中一个添加MouseListener
,可以移除其他JLabel
并再次绘制(当我点击其中一个时,{{{ 1}}其他一个变化)
这是我的代码,但它不起作用,它删除了Image
,但是不再绘制它,我该怎么办?
JLabel
是否存在另一种方式,当我点击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
?
答案 0 :(得分:4)
在重绘()
之前调用revalidate()