在 GUI 为 运行 时更改 JLabel

Changing a JLabel while GUI is running

我现在拥有的代码确实可以更改 JLabel,但问题是在第一次更改后,它只会添加到标签上,而不是像我预期的那样更改它。代码如下

public static void changeJLabel(JPanel panelName, JLabel JLabel, String newText)
{
    panelName.remove(JLabel);
    JLabel = new JLabel(newText);
    panelName.add(JLabel);
    panelName.validate();
    panelName.repaint();
}

我在GUI中将其设置为一个按钮,结果如以下链接所示。在按下按钮之前:http://prntscr.com/64gnwl Hitting it once: http://prntscr.com/64gnzj Changed as expected. Hitting it many times: http://prntscr.com/64go2u 不符合预期。我认为在添加另一个之前不会删除 JLabel,但我不确定为什么。如果您需要我的全部代码,我也会添加。

JLabel.setText(); 可以满足我的需求。我边学边学,以前在我的任何搜索中都没有见过这种方法。不知道我是怎么错过的,但这很好用。

public static void changeJLabel(JPanel panelName, JLabel JLabel, String newText)
{
    JLabel.setText(newText);
    panelName.validate();
    panelName.repaint();
}