1

一連のJTextPanesを表示するためのベストデザインプラクティスを決定するのに少し問題があります。1000個のJTextPanesがあり、各JTextPaneには定型化されたメッセージが含まれており、チャットで受信したメッセージと同じように、それらを上下に表示したいとします。JTableを使用し、その中にペインを配置する方がよいでしょうか。または単にそれらすべてをJPanel/JScrollPaneに入れますか?JTextPanesを削除および追加したり、特定のJTextPaneを選択/フォーカスしたりできるようにしたいと思います。JTableを使用してアルファプロトタイプ(プロトタイプも考慮しない)ソリューションを作成し、カスタムモデル/レンダリングを作成しましたが、達成しようとしていることに対して非常に複雑に見えます。

カスタムJPanelを作成するだけでどれほど受け入れられるのか疑問に思っていましたか?また、最大10,000個のJPanelを保持するパフォーマンスの側面にも興味がありますか?

4

3 に答える 3

2

10k のテキスト ペインを表示することは、私には意味がありません。おそらくリソースが不足するでしょう。一部のレイアウト マネージャーでは、追加できるコンポーネントの数に制限さえあります。フロー レイアウトには 512 の制限があると思うので、パネルをネストして目的を達成する必要があり、複雑さが増します。

実際に10Kを表示しても、私にはあまり意味がありません。ユーザーはどのようにスクロールして探しているものを見つけるのでしょうか?

しかし、アイテムを動的に追加/削除できるようなものが必要な場合は、JTable を調べます。すでに動的な追加/削除をサポートしています。また、JTable のフィルタリング機能を使用して、アプリケーションをより使いやすくすることもできます。

カスタム モデルとレンダラーが必要だと言う理由がわかりません。スタイル付きメッセージの JTable で HTML を使用できます。

于 2011-02-24T23:26:15.403 に答える
0

...定型化されたメッセージを上下に表示したい

この場合のより良い方法は、カスタム セル レンダラーで JList を使用することです。

于 2011-02-24T23:27:17.087 に答える