对于我的生活,我似乎无法找到有关Java Swing Actions的详细信息:'(当我遇到它们时,我立即意识到它们的用处。到目前为止,这一切都很容易使用。现在我被困在一个小事情:我如何手动运行?我的意思是代码?注意我正在使用Netbeans构建GUI(如果这有任何区别)。我已经到了:
Application a = Application.getInstance(JPADemoApp.class);
ApplicationContext ctx = a.getContext();
ActionMap am = ctx.getActionMap(JPADemoView.class, this.app);
Action act = am.get("fetchOrders");
(我在单独的行上写了所有内容以简化调试)
所以现在我对Action有了一个有效的引用。现在我该怎么运行它?
答案 0 :(得分:30)
您可以直接调用动作事件的方法:
for(ActionListener a: buttonExample.getActionListeners()) {
a.actionPerformed(new ActionEvent(this, ActionEvent.ACTION_PERFORMED, null) {
//Nothing need go here, the actionPerformed method (with the
//above arguments) will trigger the respective listener
});
}
答案 1 :(得分:10)
如果您想手动运行操作,可以生成ActionEvent
并将其传递给actionPerformed
必须实现的Action
方法,作为Action
界面延伸ActionListener
。
答案 2 :(得分:2)
由于Action
是EventListener
,您可能需要考虑实施EventListenerList
作为公开触发操作的方法的方法。