ArrayList在Swing监听器中变为空的问题求助
问题:按钮监听器中获取的ArrayList为空
我正在为学校编写程序,遇到如下问题:尝试通过按钮从另一个类获取ArrayList,但该ArrayList进入监听器后变为空;即使在监听器外的其他函数中使用,它仍然是空的。我尝试将getter放在不同位置,但均未解决问题。
代码示例
import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.util.ArrayList; public class addPanel { private JPanel panel1; private JTextField textField1; private JButton OKButton; private JButton registreerButton; private JTextField textField2; private String voorNaam; private String achterNaam; public addPanel() { textField1.addKeyListener(new KeyAdapter() { @Override public void keyReleased(KeyEvent e) { super.keyReleased(e); voorNaam = textField1.getText().toLowerCase(); } }); textField2.addKeyListener(new KeyAdapter() { @Override public void keyReleased(KeyEvent e) { super.keyReleased(e); achterNaam = textField2.getText().toLowerCase(); } }); OKButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println(gebruikas); // 输出为空 returnInputGebruiker(); } }); } Gebruikers g = new Gebruikers(); ArrayList<Gebruiker> gebruikas = g.getGebruikers(); public void worksFine() { System.out.println(gebruikas);// 单独调用时能正常输出内容 } public void returnInputGebruiker(){ System.out.println(gebruikas);// 输出为空 } public void run(JFrame parent) { JFrame frame = new JFrame(); frame.setContentPane(panel1); frame.setTitle("persoon details"); frame.pack(); frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); if (parent != null) frame.setLocationRelativeTo(parent); frame.setVisible(true); } }
内容的提问来源于stack exchange,提问作者Juanita Pardo Isidoro Rasgado
相关产品推荐
相关产品推荐

