gpt4 book ai didi

java - 为什么我无法在构造函数之外访问 JLabel?

转载 作者:行者123 更新时间:2023-12-01 21:58:50 25 4
gpt4 key购买 nike

所以我在主类的构造函数中创建了一个 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com