- ベストアンサー
アプレットのPopupMenuをコードだけで消す方法
こんにちわ。yukimura1024です。 アプレットの、ある範囲にマウスカーソルが入ったらPopupMenuを表示する。その範囲からマウスカーソルが出たらPopupMenuを消す。という処理を作成しています。表示のほうはできますが、消すほうがうまくいきません。(PopupMenuではなくLabelならsetVisibleを使って消すことができました) どこかをクリックするかESCキーを押せばPopupMenuは消えるのですが、これをマウスの移動だけで行いたいのです。 いろいろと試しましたがなかなかうまくいきません・・・ ご存知の方、教えていたたければ幸いです。 よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
自信なし PopupMenuは表示されたMenuの中から1つを選択しなければならいのではと考えます。(何らかの応答を必要としているにでは、dialogのmodalのように) menuの1つに閉じるを加えたら。 マウスの移動だけで表示/非表示を行うのならTooltipが相応しいのでは、更にmenuとしての機能を使用したいのであれば、カーソルの位置を入手し、該当する単語をtooptipの文字列から検索、識別する。 なお、カーソル位置の入手にの可否については、申し訳ありませんが知りません。 処理のイメージとして、書かせてもらいました。
その他の回答 (1)
- ngsvx
- ベストアンサー率49% (157/315)
自信なしです。 表示の時には、何らかのコンテナに追加していると思います。 消去は、そのコンテナから削除したらどうでしょうか。
補足
返答ありがとうございます。 アプレットは経験がなく苦戦していますが 表示したいタイミングで add(pop); としているので、消したいタイミングで remove(pop); と書いて試してみましたが消えません。 ESCキーを押しても消えるので、「ESCキーが押されたことにする」というコードを書いても出来そうなのですが、書き方が分かりません。。。 これについてはやり方をご存知でしょうか?
お礼
AWTなのでツールチップは使えませんでした(TT 結局自前でツールチップっぽい絵を描画することになりました。回答していただいてありがとうございました(^^