我正在尝试在附带了ActionListener的ActionListener中使用JTextFeild的getText()方法...问题是我没有指向它的引用...也就是说,我正在循环添加这些textFeilds它从arraylist中获取一个字符串并显示新的textFeild,我搜索了Internet试图找到一种使用getText()的方法,但这是没有意义的,因为我没有参考。对此,我的问题是如何在此动作侦听器的JTextFeild中获取文本,并且有什么方法可以获取对该动作执行的对此JTextFeild的引用?
JTextField t;
for(MyClass m: MyArraylist) {
t=new JTextField(m.toString());
t.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println(getText());
}
});
}
我已经尝试过getText(); super.getText(); t.getTaxt();并且确保它不会因为t总是变化而起作用,我也尝试了system.out.println(m.toString());并且不起作用
最佳答案
您应该获取事件的来源并将其投射到TextField
t.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
TextField tf = (TextField) e.getSource();
System.out.println(tf.getText());
}
});
关于java - 在actionListener中获取JTextField的引用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59274567/