gpt4 book ai didi

Java 关于初始化 swing 组件的困惑

转载 作者:行者123 更新时间:2023-12-02 06:34:50 30 4
gpt4 key购买 nike

我对初始化 Swing 组件(如 JTextField 和其他组件)感到困惑。从DoSth类调用,getTxtUser返回空指针异常,而如果从它自己的类中调用getTxtUser()则正确返回值。请帮助我。谢谢代码:

public class GUI{
private JLabel lblUname;
private JTextField txtUname;


public void showGUI(){
lblUname = new JLabel("Username");
txtUname = new JTextField(20);
....................

}

public String getTxtUser(){
return this.txtUname.getText();
}

}

public class DoSth(){
..............
GUI g = new GUI();
String user = g.getTxtUser(); //null pointer Exception even if it has some value
...............
}

最佳答案

txtUname 未在构造函数中初始化,因此调用 DoSth 类中的方法 getTxtUser 会导致 NPE。将 GUI 组件初始化移至构造函数中,或调用 showGUI 方法来初始化它们。

GUI g = new GUI();
g.showGUI();
String user = g.getTxtUser();

关于Java 关于初始化 swing 组件的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19761480/

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