2012-04-24 1 views
2

私は動的にJListを作成しています。私はsetQuery(query)を呼び出すことができる別のJPanelで使いたいと思います。その上に。検索ボタン+フィールドも接続されています。 JList、検索ボタン、検索フィールドを10個の異なるパネルに配置する方法はありますか?どこにでもコードを複製する必要はありませんか? JPanelが表示されているかどうかに応じて別のボタン/ GUI要素が必要なので、別のJPanelに配置することはできません。私はどこでも見てきましたが、動的なJListを再利用することはあまりありません。DynamicLListをCardLayoutなどのactionlistenersで再利用する

+0

「10種類のパネル」でGUIをレイアウトする方法と、余分なスペースがどのように割り当てられているかを示す1つのASCIIアートや図面を用意してください(I.E.縦に伸びるもの、横に伸びるもの)。 –

答えて

3

コンポーネントは、可視化された1つのコンテナにのみ配置できます。これらのコンポーネントを作成し、コンポーネントを保持するJPanelを返すメソッドを作成し、作成されたすべてのJListが同じListModelを共有し、すべてのJButtonが同じAbstractActionを共有するようにする方法を検討してください。

また、CardLayoutを使用してJPanelを交換している場合、これらのコンポーネントをすべて上に保持したい場合は、これを行わずにJList、JButton、およびJTextFieldをカードから外してから動的ではないGUIの部分です。

はまた、これは私には明らかではない。

それはJPanelのが表示されているものに応じて、その周りになる必要がある他のボタン/ GUI要素を持っていると私は別々のJPanelの上に置くことはできません。

詳細を明記してください。画像も同様に役立ちます。

+0

+1を合成します。 – trashgod

2

こちらの商品も購入しています。decorator patternあなたのリスト/検索パネルは主なコンポーネントですが、バリエーションはオリジナルを飾ることから生じます。

+1

[* GoFデザインパターンの例*](http://stackoverflow.com/q/1673841/230513)も参照してください。 – trashgod

関連する問題