我已经建立了这个应用程序,我试图运行它,但我无法从一个数据库获取数据 JTextField
. 我不知道怎么了。。。这是相关的代码。。。
构造jtextfield:(file main.java)
public class Constructor extends javax.swing.JFrame {
public Constructor() {
initComponents();
}
private void initComponents() {
refernce = new javax.swing.JTextField();
/*Some other code in here*/
}
private javax.swing.JTextField refernce;
/*Some other code in here*/
}
从文本字段获取数据:(file save.java)
public class Save {
/*Some other code in here*/
private javax.swing.JTextField refernce;
String refernceText = refernce.toString();
}
错误报告:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Save.<init>(Save.java:79)
at Constructor.saveMouseClicked(Constructor.java:444)
at Constructor.access$200(Constructor.java:15)
at Constructor$3.mouseClicked(Constructor.java:210)
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270)
... (it carry on(ask if you need it))
我哪里出错了???也没有语法错误等。。。
2条答案
按热度按时间jgovgodb1#
有个问题,
类save中的引用字段初始化为
null
.必须传递对象引用的jtextfield的引用
Constructor
类到Save
班级。例如,
jdg4fx2g2#
看起来您在save类中声明了jtextfield类型的引用(顺便说一句,对于变量来说这是个糟糕的名称),但是您从未初始化过它。这就是为什么会出现nullpointerexception。
你可以在构造函数类中创建一个新的。
在构造函数类中更新jtextfield之后,需要将jtextfield变量作为参数传递给save类的构造函数或save类的方法,并使用该参数从文本字段中获取文本。
另外,您不想在jtextfield上调用tostring。tostring不会获取textfield中的数据。您需要gettext()。