2

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

4

2 に答える 2

3

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

または、CardLayoutを使用してJPanelsを交換していて、すべてのパネルに上記のコンポーネントを保持させたい場合は、これを行うのではなく、JList、JButton、およびJTextFieldをカードから移動して動的でない部分に移動することを検討してください。あなたのGUIの。

また、これは私には明らかではありません:

表示されているJPanelによっては、周囲に必要な他のボタン/ GUI要素があるため、別のJPanelに配置することはできません。

明確にして、詳しく教えてください。画像も役立つかもしれません。

于 2012-04-24T17:41:59.677 に答える
2

また、デコレーター パターンを検討してください。リスト/検索パネルがメイン コンポーネントであり、バリエーションはオリジナルを装飾することから生じます。

于 2012-04-24T23:15:45.423 に答える