NetBeans の @Action2008年07月22日 19時33分05秒

NetBeans を使って Swing GUI を構築する。NetBeans を使うと @Action アノーテーションを使っている引数を取らない関数を各ボタンやメニューアイテムに割り当てることができる。

これはこれで、ある程度便利ではあったが困った事が起きた。メニュー用にそれぞれの @Action 関数を作る必要があったのだ。折角インターフェイスがまとめてあり、各ボタン毎に引数が違うだけだったり、呼び出し起点になるオブジェクトが異なるだけなのに、@Action の関数では、このようなインターフェイスがうまく使えない。

調べてみると、これが NetBeans と言うより JSR-296 の規定の様だ。@Action 関数には、NetBeans は関数だけでなく、コンポネントに付ける名前から ToolTip の説明などまで対にして、保持している。そのため、ボタンやメニューに名前を付けるときに、固定の文字列を使いつつ、ボタンなどに付加されている特殊な値も追加してラベルを生成するといったことが単純では無くなる。

現状では、同じ関数を引数の違いで動作の変わるボタンやメニューには各々の @Action を用意するのが一番簡単な様だ。こちらだと NetBeans の支配下にあるし、ボタンとメニューになど異なったコンポネントに同じ動作を与えるときに有利になる。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2008/07/22/3643113/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。