我在从一个类调用get方法并在单独的actionlistner类中实现它时遇到了麻烦。这是我的get方法的代码,它从JTextField获取文本。
public String getTitleTextField() {
return this.TitleTextField.getText();
}
调用listner类的按钮如下:
this.AddButton = new JButton("Add");
AddButton.setBounds(20, 161, 89, 23);
AddButton.addActionListener(new Listener());
add(AddButton);
以下是我的listner类的代码: `
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Listener implements ActionListener{
FilmPanel view;
SaveData save;
Object[] row = new Object[1];
public void actionPerformed(ActionEvent arg0) {
row[0] = view.getTitleTextField();
view.model.addRow(row);
try {
save.saveTable();
} catch (Exception e) {
e.printStackTrace();
}
};
}
错误显示为
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at assignment.listener.actionPerformed(listener.java:13)
指向此row[0] = view.getTitleTextField();
感谢您的帮助:)
编辑:
试图找出它的错误,这不是一个NULL异常
答案 0 :(得分:1)
创建监听器时添加对此的引用:
new Listener(this); // instead of new Listener() in your code
在监听器中添加构造函数:
public Listener(FilmPanel view) {
super();
this.view = view;
}