ActionListener类无法从另一个类获取值

时间:2017-10-13 08:31:46

标签: java actionlistener

我在从一个类调用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异常

1 个答案:

答案 0 :(得分:1)

创建监听器时添加对此的引用:

new Listener(this); // instead of new Listener() in your code

在监听器中添加构造函数:

public Listener(FilmPanel view) {
    super();
    this.view = view;
}