アクション管理の機能
通常UIコンポーネントのイベントを扱うには、ActionListener か AbstractAction を使用します。
Swing Application Framework では以下3つのアクション管理を容易にする機能が利用できます。
アクションイベントのハンドリングメソッドは@Actionアノテーションを付与することで定義できます。
JButton btnMakeLarger; @Override protected void startup() { ResourceMap resource = ctxt.getResourceMap(this.class); resource.injectComponents(this); ActionMap map = ctxt.getActionMap(this); btnMakeLarger = new JButton(); btnMakeLarger.setAction(map.get("makeLarger")); } @Action public void makeLarger() { Font f = new Font(f.getFontName(), f.getStyle(), txtArea.getFont()++); txtArea.setFont(f); }
ctxt.getActionMap(this)にてそのクラス中の@ActionアノテーションメソッドからActionインスタンスの生成が自動で行われます。その後、そのインスタンスに対して、該当のリソース情報をリソースファイルから埋め込むことができます。
以下の記載のリソースファイルを用意しておくことで、ボタンのテキストとアイコンが自動的に埋め込まれます。
makeLarger.Action.text = Increase font size makeLarger.Action.icon = increase.png
上記リソースファイルの切り替えにより、アプリケーションのローカライズが簡単に行える仕組みとなっています。