所以我在主类的构造函数中创建了一个 JLabel,然后,我在类中有一个单独的方法来更新它 (updateLabel())。但无法从更新方法中访问标签。如何从方法内部访问它?谢谢
public Difficulty(){
JLabel lblNewLabel = new JLabel((comboBox_9.getSelectedItem().toString()));
lblNewLabel.setBounds(300, 70, 46, 23);
contentPane.add(lblNewLabel);
}
public void updateLabel(Skill skill){
}
在更新Label方法中我想说lblNewLabel.setText(skill.toString())
但我无法访问该标签。
最佳答案
您需要考虑变量范围:Java Tutorials - Declaring Member Variables
如果您在构造函数的范围内声明一个对象,那么它将无法在其他地方访问,例如 updateLabel() 方法。
尝试将您的 JLabel 声明为字段,例如:
private JLabel label;
public JLabelContainer() {
label = new JLabel();
}
public void updateLabel(String text){
label.setText(text);
}
这里,标签在字段级别声明,在构造函数中实例化,然后在 updateLabel(..)
方法中访问。
关于java - 为什么我无法在构造函数之外访问 JLabel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33961910/