私の人生では、Javaスイングアクションの詳細を見つけることができないようです: '(それらに出会ったとき、私はすぐにそれらの有用性に気づきました。これまでのところ、すべて簡単に操作できました。小さなことで立ち往生しています:それらを手動で実行するにはどうすればよいですか?つまり、コードによるものですか?(違いがある場合は)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");
(デバッグを簡単にするために、すべてを別々の行に記述しました)
これで、アクションへの有効な参照ができました。どうすれば実行できますか?
アクションを手動で実行する場合は、ActionEvent
を生成し、actionPerformed
として実装する必要があるAction
メソッドにAction
として渡すことができます。インターフェイスはActionListener
を拡張します。
アクションイベントのメソッドを直接呼び出すだけです。
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
});
}
Action
は EventListener
であるため、 EventListenerList
の実装を検討してください。 =アクションを起動するメソッドを公開する方法として。