Вы создаете новый объект при каждом вызове setIncomeValue()
, поэтому вы получаете null
каждый раз.
Добавьте члена JTextField
рядом с вашим JButton save
и сохраните ссылку на первый setIncomeValue()
:
JButton save = ...;
JTextField income = setIncomeValue(); // Created once
...
class SaveListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
String test = income.getText();
...
}
}
Это сработает, потому что SaveListener
является внутренним классом класса Income
(пожалуйста, используйте заглавные буквы для имен классов) и, следовательно, имеет доступ к членам своего родительского класса.