在mouseListener中删除并添加新的JLabel



我有两个JLabels,我将MouseListener添加到其中一个,这可以删除其他JLabel并重新绘制(当我单击其中一个时,另一个的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时,它可以更改另一个的Image

在重新绘制()之前调用revalidate()

最新更新