Windowsの約束事とJava
java.awt.SystemTrayを使っていて気になったことがあります。
Windowsのエクスプローラ(シェル)は、コンテキストメニューのうち強調表示されているものが、ダブルクリックによって実行されるというルールがあります。
これが、タスクトレイ上のアイコンにも同様に適用されているのですが、java.awt.SyatemTrayでこれをやろうとするといくつか問題が出てきます。
- java.awt.PopupMenuは強調表示がない
- というか、Macなどではコンテキストメニューとクリックが同じボタン
- ダブルクリックもとれない
まぁ、Windowsのローカルルールをアプリに適用しなくちゃならない理由はないのですが。
環境が異なれば、見かけは似ていてもやっぱりいろいろ違いますやね。
とりあえず、ポップアップメニューで際限なくウィンドウを開くバカアプリを作ってみました。メニュー項目が二つあって、もう一つは一気に全部のウィンドウを閉じるもの。
わはは、なにもしてないけど何となく楽しいや(^^)。