Java Swing - 从另一种方法设置 Jlabel 文本

2024-02-27

我对 Java 和 Swing 还很陌生,我正在使用 Windowbuilder 来尝试我的一些 GUI 想法,但在尝试设置 Jlabel 的文本时遇到了问题。

Windowbuilder 在initialize() 方法中自动创建了一个名为pathLabel 的Jlabel 实例,如下所示:

private void initialize() {
    frame = new JFrame();
    frame.setBounds(100, 100, 570, 393);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().setLayout(null);

    JLabel pathLabel = new JLabel("New label");
    pathLabel.setBounds(61, 296, 414, 15);
    frame.getContentPane().add(pathLabel);}

如果我在这个initialize()方法中使用pathLabel.setText(“在此处输入文本”),那么它工作正常,但是如何从完全不同的方法设置文本?它不让我参考它。

我在使用 C# 的 Visual Studio 中从未遇到过此问题,并且能够通过我选择的任何方法设置标签的文本。我缺少什么?

我希望这是有道理的,并且我非常感谢任何帮助。谢谢。


您可以将 pathLabel 作为实例变量放入类中,并通过类中的所有方法访问它。

class GUIClass extends JFrame{
 JLabel pathLabel;
 private void initialize() {
   frame = new JFrame();
   frame.setBounds(100, 100, 570, 393);
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.getContentPane().setLayout(null);

   pathLabel = new JLabel("New label");
   pathLabel.setBounds(61, 296, 414, 15);
   frame.getContentPane().add(pathLabel);
}
void func(){
   pathLabel.setText("enter text here");
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java Swing - 从另一种方法设置 Jlabel 文本 的相关文章

随机推荐