2009-04-08 17 views
6

JPanelにJMenuItemを追加する方法はありますか?そのため、アドレスバーの下にあるfirefoxの最新ニュースボタンのような複数のオプションを表示するボタンを作成できますか?Java:JPanelにJMenuを追加する方法、またはドロップダウンボタンを作成する方法はありますか?

私は唯一のJMenuBar、JPopupMenuを、その他JMenusにJMenuにしてJMenuItemsを追加することができ

とJMenuitems

Javaで作成する方法はありますJButtonのドロップダウンスイング? (その左の下矢印を持つものは、ユーザに、より多くのオプションを示している)を予め

+0

フィードバックいただきありがとうございます。あなたのソリューションを説明するコードがあれば、それを回答として公開するのは興味深いかもしれません。 – VonC

+0

thx、私はそれをしましたが、私は私の投票に48時間待たなければなりませんAnswer – Telcontar

答えて

5

Finnally私は示すために、簡単なJuttonで「ショーのオプションボタン」を実装し、オプションでJPopupPane:

私はこのコードを書いたボタンのActionPerformedListenerで:

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

それは、 JMenuBarのJMenuのようにうまく動作しますが、ドロップダウンボタンのようなものではありません。ボタンを押してアクションを実行したり、下矢印を押してより多くのアクションを表示することができます。私はこれが2つのボタン "非常に近い"を使用して行うことができると思う、矢印ボタンで上記のコードを使用するが、ポップアップのコンポーネントとして "アクションボタン"を設定するので、ポップアップは両方のボタンの下に表示されます。

+0

このフィードバックをありがとうございます。 +1 – VonC

3

おかげJMenuBarのみJPanelJFramesetMenuBar())しないように添加されるべきです。

スイングドロップダウンボタンがここに移動する方法です。

は、さまざまな実装の提案

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

の良い議論のために、このarticle上記のドロップダウンボタンをのNetBeans UIユーティリティーAPI(のNetBeans IDEの任意のディストリビューションでplatform7/modules/org-openide-awt.jar)を使用して参照してください。 NetBeansを実行する必要はありません。NetBeansインストールから抽出したjarファイルのみです。

+0

これは動作しますが、JavaWebStartによって配布されるアプリケーション内の外部jarに依存しないためにfinnallyを使用しません。私はポイント0のポップメニューを表示して、ボタンのcomp.getHeight()を表示します。 – Telcontar

関連する問題