Swing/PopupWithoutClickOnMenu のバックアップソース(No.1)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- バックアップ を表示
- Swing/PopupWithoutClickOnMenu へ行く。
- 1 (2013-02-18 (月) 00:29:59)
- 2 (2014-08-12 (火) 20:55:02)
- 3 (2014-08-13 (水) 20:04:35)
- 4 (2014-10-04 (土) 03:35:03)
- 5 (2015-11-10 (火) 01:51:42)
- 6 (2016-06-24 (金) 16:30:47)
- 7 (2017-03-28 (火) 19:41:42)
- 8 (2017-04-07 (金) 13:51:51)
- 9 (2017-11-02 (木) 15:34:40)
- 10 (2018-01-30 (火) 20:57:07)
- 11 (2018-02-27 (火) 13:14:53)
- 12 (2020-03-03 (火) 17:59:56)
- 13 (2021-03-29 (月) 01:34:16)
- 14 (2022-08-20 (土) 22:15:25)
- 15 (2024-02-03 (土) 14:02:34)
TITLE:JMenuの領域内にマウスカーソルでポップアップメニューを表示する #navi(../) #tags(JMenu, MouseListener) RIGHT:Posted by &author(aterai); at 2013-02-18 *JMenuの領域内にマウスカーソルでポップアップメニューを表示する [#vc583f1f] ``JMenu``の領域内にマウスカーソルが入ったときにポップアップメニューが開くように設定します。 -&jnlp; -&jar; -&zip; //#screenshot #ref(https://lh3.googleusercontent.com/-shu8CDTfLvg/USCnbrWYstI/AAAAAAAABd0/qODgUmweras/s800/PopupWithoutClickOnMenu.png) **サンプルコード [#b248cd30] #code(link){{ visitAll(menubar, new MouseAdapter() { @Override public void mousePressed(MouseEvent e) { if(check.isSelected()) { ((AbstractButton)e.getSource()).doClick(); } } @Override public void mouseEntered(MouseEvent e) { if(check.isSelected()) { ((AbstractButton)e.getSource()).doClick(); } } }); }} **解説 [#gf9e01fc] 上記のサンプルでは、``JMenuBar``の子コンポーネントになっている``JMenu``の領域内にマウスカーソルが入った場合に自動的にポップアップメニューが開くように、``JMenu#doClick()``を実行する``MouseListener``を追加しています。 - 注: -- マウスボタンを押した場合も、入った場合にすでに表示したポップアップメニューが非表示にならないように``JMenu#doClick()``を実行 -- このサンプルのすべての``JMenuItem``は、beep音を鳴らすだけのダミー **参考リンク [#a9e5d0d2] - [http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=9327&forum=12 JMenuBarの動作 - Java Solution - @IT] - [http://stackoverflow.com/questions/12125402/activate-jmenubar-on-hover java - Activate JMenuBar on hover - Stack Overflow] **コメント [#q749117e] #comment