2009-04-08 116 views
6

有什麼方法可以將JMenuItem添加到JPanel,以便我可以創建一個按鈕來顯示多個選項,如Firefox中最新的新聞按鈕,地址欄下?Java:如何將JMenu添加到JPanel或創建下拉按鈕?

我只能添加JMenu的和JMenuItems到的JMenuBar,JPopupMenu中和其他JMenus和JMenuitems

有沒有辦法在Java創建擺動下拉JButton的? (在其左側有一個向下的箭頭示出了更多的選擇,該用戶的那些)

預先感謝

+0

感謝您的反饋。如果你有一個代碼來說明你的解決方案,將它作爲答案發布可能會很有趣(如果你願意,可以選擇你自己的條目作爲官方答案) – VonC 2009-04-08 08:12:27

+0

thx,我做到了,但我必須等待48小時才能投票給我回答 – Telcontar 2009-04-08 09:02:23

回答

5

Finnally我落實「顯示選項按鈕」用一個簡單的Jutton,並與選項JPopupPane顯示:

在按鍵的ActionPerformedListener我寫這樣的代碼:

popMenu.show(showOptionsButton,0,showOptionsButton.getHeight()) 

它JMenuBar中的JMenu運行良好,但不完全像下拉按鈕,您可以在其中按下按鈕或按下向下箭頭顯示更多操作。我相信這可以通過兩個按鈕「非常接近」來完成,然後使用上面的箭頭按鈕中的代碼,但將「操作按鈕」設置爲彈出框的組件,以便彈出框顯示兩個按鈕的下方。

3

JMenuBar甲應該只被添加到JFramesetMenuBar()),而不是一個JPanel

擺動下拉按鈕是去這裏的方法。

一個很好的討論,請參見本article各種實施命題

alt text http://blogs.sun.com/geertjan/resource/dropdownbutton1-jl.png

上述下拉按鈕使用的NetBeans UI實用程序APIplatform7/modules/org-openide-awt.jar在NetBeans IDE中的任何分配)。您不需要讓NetBeans運行它:只有您從NetBeans安裝中提取的這個jar。

+0

它的工作原理,但我最終不使用它,以便不依賴於由JavaWebStart分發的應用程序中的外部jar。我通過在按鈕 – Telcontar 2009-04-08 08:08:02