我试图在另一个类中获取jTextField值但总是得到错误null异常。这是我的代码:
班级主要:
public class FormTambahDoc extends javax.swing.JFrame {
Utility utility;
public FormTambahDoc() {
initComponents();
utility = new Utility();
setButton();
}
public String gettextIdentitasPengguna() {
return textIdentitasPengguna.getText();
}
private void setButton() {
btnSimpan.addActionListener(new ActionListener() {@Override
public void actionPerformed(ActionEvent e) { utility.cek();} });
}
}
另类:
public class Utility {
FormTambahDoc formTambahDoc;
//FileJpaController controller;
public void cek()
{
String inputText = formTambahDoc.gettextIdentitasPengguna();
System.out.println(inputText);
//return `Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException`
}
}
此代码有什么问题?
答案 0 :(得分:1)
您应该在使用之前创建FormTambahDoc
的实例:
FormTambahDoc formTambahDoc = new FormTambahDoc();
或从某个地方获取实例。否则formTambahDoc将始终为null。再次检查您的AWT教程。
答案 1 :(得分:0)
尝试以下
public class FormTambahDoc extends javax.swing.JFrame {
Utility utility;
public FormTambahDoc() {
initComponents();
utility = new Utility(this);
setButton();
}
public String gettextIdentitasPengguna() {
return textIdentitasPengguna.getText();
}
private void setButton() {
btnSimpan.addActionListener(new ActionListener() {@Override
public void actionPerformed(ActionEvent e) { utility.cek();} });
}
}
public class Utility {
FormTambahDoc formTambahDoc;
//FileJpaController controller;
public Utility(FormTambahDoc aForm) {
formTambahDoc = aForm;
}
public void cek()
{
String inputText = formTambahDoc.gettextIdentitasPengguna();
System.out.println(inputText);
//return `Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException`
}
}