2

ゲームの位置を表すグリッドとして GUI アプリケーションで JTable を使用しています。オブジェクトの特定の位置を表すテーブルのセルに特定の色を付け、一部のアクションでオブジェクトを移動させたい (つまり、Grid /JTable 内を移動するカラー セル)。を拡張するクラスを作成することでセルの色を変更できることを知っていますがDefaultTableCellRenderer、これが唯一の方法ですか? または、セルの色を変更する簡単な方法はありますか??また、JXTable はそのようなアプリケーションの JTable よりも優れていますか?

編集:特定のセルの色を動的に変更する必要があるという事実を含めませんでした。つまり、ボタンのクリック、キーボードのクリックなどで、TableCellRendererまだ JTable を使用している場合でも可能ですか?

ありがとう、

4

2 に答える 2

4

prepareRenderer()別の方法として、 @mKorbel によって提案され、記事Table Row Renderingに示されているように、 の使用を検討してください。

于 2011-04-27T00:08:56.700 に答える
3

JTable では、DefaultTableCellRenderer が最適な方法です。

ただし、JXTable を使用する場合は、ハイライターとカスタム述語を使用する方がはるかに簡単です。一般に、述語はセルの内容に基づいて色を付けるために使用されますが、行/列および何らかの外部値に基づいて簡単に色を付けることができます。

http://www.jarvana.com/jarvana/view/org/swinglabs/swingx-core/1.6.2/swingx-core-1.6.2-javadoc.jar!/org/jdesktop/swingx/JXTable.htmlを見てください。ストライプ テーブルとパターン マッチングである [Rendering and Highlighting] の下。基本的にパターン ハイライターと同じことを行いますが、独自の述語を使用します。

于 2011-04-26T20:57:35.527 に答える