Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

ポップアップメニューについての質問

setModalityType(Dialog.ModalityType.APPLICATION_MODAL);

ダイアログなどでは上記のコードを追加することでカーソルがダイアログ以外の所へ移ってマウスクリックした場合にダイアログが消えることはありませんが、JPopupMnuの場合はポップアップメニューの表示中に他画面にカーソル移動してクリックした場合に、JPopupMenuが消えて新たなJPopupMenuが出現します。
一度JPopupMenuを出したらmenuItemにある「キャンセル」をクリックしなければポップアップメニューが消えないようにするにはどうしたらよいのでしょうか?
基礎的な質問で大変申し訳ありませんが教えて下さい。
宜しくお願いします。

3

回答

81745

閲覧

3件の回答

評価

0

それはすでに通常のメニューではない。
Swingと限定しないでも、そういう挙動のメニューはあるだろうか?
通常でない動きを通常のものに求めても仕方ない。

評価

0

$さん、回答をいただきましてありがとうございます。

> 通常でない動きを通常のものに求めても仕方ない。

JDialogで出来るならJPopupMenuでも可能なのかも・・・と考えましたが不可能なことが理解できました。
ありがとうございました。

評価

0

念のため。

良くWebサイトでメニューをあつらえたページがあるが、本来HTMLにメニューなど
というものは存在しない。
あれはtableやdivなどを、該当位置で表示・非表示することで表現している。
Swingで自作する必要があるのがどこからかは分からないが、そういうものが欲しい
だけならやりようはある、ということ。

ただ、メニューが現在の挙動になっているのには、それなりの理由があるはず。
それを曲げて、あえて望む挙動を組み込みたいのなら、そのメリットは?通常の挙
動を期待しているユーザーに不都合、不安etc.を与えないか?
といった議論は必要になる。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。