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

在我的桂课上,我有

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执行此操作

我想念什么吗?我的方法似乎无法更改标签文本?

最佳答案

看来您是在一种方法中声明变量,然后尝试在另一种方法中使用它。这是一个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);
  }
}

关于java - 无法更改JLabel的文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20376265/

10-11 17:20