如何在Java中手动调用actionPerformed?
How to manually invoke actionPerformed in Java?
当我们单击(比方说)JButton 时,将调用class ActionListener
的方法actionPerformed
。我想在程序中手动 运行 这个方法。可能吗?
这是一个例子:
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// do something
}
});
当我点击 button
时调用此 actionPerformed
。有没有另一种方法可以在我的程序中使用一行代码手动调用它?
您可以:
- 在按钮上调用
.doClick()
- 简单地在方法上调用
actionPerformed(null)
...如果方法是匿名的则困难 class
- 在 JButton 上调用
getActionListeners()
并遍历返回的 ActionListener[]
数组,调用每个侦听器的 actionPerformed 方法
- 或者让监听器自己调用主程序可以调用的方法(我的首选方式):
public void someMethod() {
// has code that the listener needs done
}
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
someMethod(); // call it here in the listener
}
});
// in another part of the code, call the same method
someMethod();
当我们单击(比方说)JButton 时,将调用class ActionListener
的方法actionPerformed
。我想在程序中手动 运行 这个方法。可能吗?
这是一个例子:
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// do something
}
});
当我点击 button
时调用此 actionPerformed
。有没有另一种方法可以在我的程序中使用一行代码手动调用它?
您可以:
- 在按钮上调用
.doClick()
- 简单地在方法上调用
actionPerformed(null)
...如果方法是匿名的则困难 class - 在 JButton 上调用
getActionListeners()
并遍历返回的ActionListener[]
数组,调用每个侦听器的 actionPerformed 方法 - 或者让监听器自己调用主程序可以调用的方法(我的首选方式):
public void someMethod() {
// has code that the listener needs done
}
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
someMethod(); // call it here in the listener
}
});
// in another part of the code, call the same method
someMethod();