在GUI运行时更改JLabel

时间:2015-02-13 04:49:41

标签: java user-interface jframe jlabel

我现在拥有的代码确实可用于更改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点击一次:http://prntscr.com/64gnzj按预期更改。多次击中:http://prntscr.com/64go2u与预期不符。我认为在添加另一个之前没有删除JLabel,但我不确定为什么。如果您需要我的整个代码,我也会添加它。

1 个答案:

答案 0 :(得分:0)

JLabel.setText();适用于我想要的东西。我正在学习,并且在我的任何搜索之前都没有看过这种方法。不知道我是怎么错过的,但这很好用。

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