gpt4 book ai didi

Java setText() 错误

转载 作者:行者123 更新时间:2023-12-01 15:30:10 25 4
gpt4 key购买 nike

我不明白为什么当我尝试在程序中对 JTextArea 对象进行 .setText() 时会出现运行时错误。在我的主 GUI 类中,我设置了一个创建弹出 JFrame 对象的事件,该 JFrame 中有一个按钮,也设置了 JTextArea.setText();到我的主 GUI 类中名为 MainOut 的 JTextArea。

public class GUI extends JFrame implements ActionListener {



JTextArea MainOut = new JTextArea(20,50);


public void actionPerformed(ActionEvent e) {


if (e.getSource() == ExitVar){
System.exit(0);
}

else if (e.getSource() == ServerLoginVar) { //This is my event that creates a
//new JFrame popup
new ServerLoginGUI(this);
}

//-------------------------------------------------------------------
public class ServerLoginGUI extends JFrame implements ActionListener {

JTextField ServerIP = new JTextField(15);
JPasswordField ServerPassword = new JPasswordField(15);
JPanel ServerLoginPanel = new JPanel();
JButton LoginButton = new JButton("Login");
JTextArea Area;
JLabel ServerIPLabel = new JLabel("Server Address:");
JLabel ServerPasswordLabel = new JLabel("Password :");
GUI GUi;
public void actionPerformed(ActionEvent e) {

if (e.getSource() == LoginButton){
if (ServerIP.getText().isEmpty() || ServerPassword.getText().isEmpty()){
} //do nothing

else {
new ServerAccess(this);

// this is the .setText() that will generate a error

GUi.SiteNameField.setText("Test from the ServerLogin event!");

dispose();}
}
}

}

最佳答案

好吧,这就是你的问题。您已在ServerLoginGUI 类中创建了GUI 对象。但是您没有使用调用类的引用来初始化您的 GUI 对象。以下是您需要执行的操作来解决此问题。向您的 ServerLoginGUI 类添加以下构造函数:

public ServerLoginGUI(GUI gui)
{
this.GUi = gui;
}

现在您的代码应该可以正常工作并且不会出现运行时错误。尽管您没有指定,但我假设这是一个空指针错误。

PS:请正确理解 Java 约定。变量以小写字母开头。 :)

关于Java setText() 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9630484/

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