質問

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

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

または埋め込みパネルを外部から見えるようにし、代わりに ExpanderPanel.getInnerPanel()のようなものを使用するようユーザーに強制する必要があります。しかし、それは JPanel のドロップイン置換ではありません。

役に立ちましたか?

解決

1.5(ish)では、Swingは JFrame JApplet などのコンテンツペインにいくつかのメソッドをルーティングしました。 、実際には問題を解決しません。そのため、誰もが非常に奇妙に振る舞うAPIに対処する必要があります。したがって、このアプローチを避けることをお勧めします。

他のヒント

Swingx プロジェクトの JXTaskPane を見てください。すでに必要なことを行っています。

表示および非表示にするパネルを保持するコンテナウィジェットがある場合、必要に応じて内部パネルをレイアウトし、それをコンテナパネルに追加してから、コンテナに対して静的メソッドを使用して言います

JPanel p =新しいJPanel(); // JPanelで何かをする...

ContainerWidget.setContent(p);

ContainerWidget.expandPanel(p、true);

このように動作しますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top