无法更改JLabel的文本

时间:2013-12-04 13:09:16

标签: java jlabel

我正在尝试更改JLabel的文本,但我的方法甚至没有看到标签

在我的Gui课程中,我有

public void setText(String message)
    {
        label03.setText(message);
    }

对于我的标签03,我有

JLabel label03 = new JLabel("0");
        label03.setIcon(icon);
        label03.setBounds(204, 130, 46, 14);
        getContentPane().add(label03);

我正在使用WindowBuilder来执行此操作

我错过了什么吗?我的方法似乎无法更改标签文本?

1 个答案:

答案 0 :(得分:3)

看起来你在一个方法中声明你的变量并尝试在另一个方法中使用它。这是variable scoping问题。

您可能需要将标签存储在班级中的字段中,以便您可以通过多种方法访问它。

public class SomeClass {
  private JLabel label03; 

  public void someMethod() {
    label03 = new JLabel("0");
    label03.setIcon(icon);
    label03.setBounds(204, 130, 46, 14);
    getContentPane().add(label03);
  }

  public void setText(String message) {
    label03.setText(message);
  }
}