1

現在、Swing でエキスパンド パネル (WPF のコントロールに似ています) を作成しようとしていますが、それを操作するための通常の方法 (つまり、、 など)Expanderを保持したいと考えています。それらのみが埋め込みパネル (表示または非表示になっているパネル) にルーティングする必要があります。setLayoutadd

どうすればそれを行うことができますか?すべてのメソッドをオーバーライドJComponentして組み込みに再ルーティングするのJPanelは面倒ですが、それが私が見る唯一の方法です。

または、埋め込みパネルを外部から見えるようにして、代わりにユーザーに次のようなものを使用させる必要がありますExpanderPanel.getInnerPanel()JPanelしかし、それは私が持っているといいと思うドロップインの代替品ではありません.

4

3 に答える 3

2

SwingxプロジェクトのJXTaskPaneを見てください。それはすでにあなたが必要とすることをします。

于 2009-03-06T14:40:33.397 に答える
1

1.5(ish) では、Swing はいくつかのメソッドを 、 などのコンテンツ ペインにルーティングしましたJFrameJApplet使い始めたばかりの人にはいくつかの使いやすさの利点があるように見えましたが、実際には問題を解決していません。そのため、誰もが非常に奇妙な動作をする API に対処する必要があります。したがって、私のアドバイスは、このアプローチを避けることです。

于 2009-03-06T14:49:10.413 に答える
0

表示および非表示にするパネルを保持するコンテナー ウィジェットがある場合は、内側のパネルを好きなようにレイアウトしてから、それをコンテナー パネルに追加し、コンテナーに対して静的メソッドを使用して、

JPanel p = 新しい JPanel(); // JPanel で何かを行う...

ContainerWidget.setContent(p);

ContainerWidget.expandPanel(p,true);

この作品のようなものはありますか?

于 2009-03-06T14:53:24.257 に答える