小编典典

如何以编程方式将ActionEvent发送到JButton?

java

如何以编程方式将ActionEvent(例如,按钮按下/ ACTION_PERFORMED)发送给JButton

我知道:

button.doClick(0);

button.getModel().setArmed(true);
button.getModel().setPressed(true);
button.getModel().setPressed(false);
button.getModel().setArmed(false);

但是,是否可以直接发送给ActionEvent

编辑:这不是生产代码,这只是一个小小的个人实验。


阅读 138

收藏
2020-11-01

共1个答案

小编典典

您可以获取按钮的ActionListener,然后actionPerformed直接调用该方法。

ActionEvent event;
long when;

when  = System.currentTimeMillis();
event = new ActionEvent(button, ActionEvent.ACTION_PERFORMED, "Anything", when, 0);

for (ActionListener listener : button.getActionListeners()) {
    listener.actionPerformed(event);
}
2020-11-01