【发布时间】:2023-03-08 19:46:01
【问题描述】:
我有一个名为 SearchBox 的 javax.swing.JTextField 带有一个 actionPerformed 事件。
public void SearchBoxActionPerformed(java.awt.event.ActionEvent evt){
//TODO
}
我想要做的是通过传递JTextField 对象作为参数从不同类中的另一个方法调用上述方法。
import javax.swing.JTextField;
public class Program {
public static synchronized void QuickSearchResults(JTextField textBox) {
/*
* I want to call ActionPerformed method of textBox if it has any.
*/
}
}
请注意,不能直接调用方法名称。如果 我传递了 3 个不同的
JTextField对象,相关的 ActionPerformed 方法应该被调用。
有没有办法做到这一点?我已经试过了,
textBox.getActions();
textBox.getActionListeners();
但它并不顺利,现在我又回到了第一方。
感谢您的建议!
【问题讨论】:
-
你不能从另一个类调用私有方法。要接收
ActionEventJTextField 必须使用addActionListener添加ActionListener -
@JaySmith ActionEvent 在我按下回车键时运行良好。我刚刚添加了摘要。
-
即使我将方法设为Public,我如何使用
JTextField对象来调用它? -
如果你使用JTextField,你只能调用它的方法。
-
你可以从你添加到jtextfield的
actionPerformed中的actionPerformed调用SearchBoxActionPerformed方法
标签: java swing jtextfield actionevent javax