2010-12-28 5 views
1

私はデスクトップのJava Swingアプリケーションでダイアログを持っています。Java Swing:拡張/漸進的な開示のダイアログ?

私が欲しいのは、古典的なWindowsスタイルのプログレッシブディスクロージャーダイアログです。このダイアログでは、「その他のオプション」ボタンを押すと、ダイアログボックスのオプションが余分に表示されます。 (これは同じボタンをクリックすることで再び隠れることができます。これは「隠す」のようなものです)

Swingでこれを行う正しい方法は何ですか?

私はこれに直接関連するものは何も見当たりません。私が見つけたものは、「好ましい寸法を0にリセットして再検証する」ということがあります。これは正しい方法ではありません。また、あらゆる種類の不吉なことが起こる。

答えて

2

非表示/表示は、子を親に削除/追加することで実現できます。すべての削除/追加操作の後、UIを適切に更新するには、parent.revalidate() parent.repaint()を呼び出さなければなりません。

+0

Aha!親からそれを削除することは、私が行方不明だったステップでした。ありがとうございました! –

+0

あなたは大歓迎です! – maneesh

0

ソフトウェアをインストールしたり、設定オプションなどを定義するためのウィザードダイアログが必要なようです。そうなら、Creating Wizard Dialogs with Java Swingをチェックしてください。

+0

ウィザードは画面を切り替えます。私はOPが、同じ画面上にコンポーネントを隠す/表示するものを望んでいると思う。 – maneesh

+0

Wizard - モデルとコントローラを含むこのクラスは、外部JDialog、およびNext、Back、およびCancelボタンを処理します。また、AWT CardLayoutレイアウトマネージャを使用して同じ領域内の複数のウィザードパネルを「反転」する、大きなコンポーネントが中央にあります。これをウィザードダイアログの外側のシェルと考えてください。 –

+0

ええ、私は、ダイアログでもう1つのパネル分のコンテンツを "成長"させ、再びそれを隠すことができるようにする必要がありました。オリジナルのコンテンツは元の場所にとどまっていました。 –

関連する問題