Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

jtable(swing)の文字色

swing初心者です。

以下のような、3×4の表

| 1 | 2 | 3 | 6  |
| 2 | 3 | 4 | 9  |
| 3 | 4 | 5 | 12 |

を考えていて、(i,4)は(i,1)〜(i,3)の値の合計が表示され
ます。(もし、(i,1)から(i,3)の値を変更すると、それに
応じて、(i,4)の値も変わります。)

このとき、(i,4)の値が20を超えたら、(i,4)の文字色を
赤くしたいと思っています。

この(i,4)セルへの色付けができなくて、困っています。

*tableChangedを使って、条件(20を超えたら)を満た
したら該当セルの文字色を変更させる、というのを考えて
いるのですが、tableChangedの内で特定のセルだけを変更
するやり方がわかりません。

*DefaultTableCellRendererのgetTableCellRendererにつ
いても調べたのですが、今考えている問題の場合、どう使
ったらよいのかわかりません。

宜しくお願いします

5

回答

6093

閲覧

5件の回答

評価

0

すみません。質問内容に訂正があります。

「(i,4)の値が20を超えたら、(i,4)の文字色を
赤くしたい」

と書きましたが、

「(i,1)から(i,3)の平均値が20を超えたら、合計値を表示
している(i,4)のセルを赤くする。」
という風にしたいと思っています。


ここで、お聞きしたかったのは
(i,4)の値によって、(i,4)セルの色を変えるのではなく、
他のセルの値(厳密には、他のセルの値から生成される
値)によって、(i,4)セルの色を変える方法です。


よろしくお願いします。

評価

0

合計だか平均だかを計算して、答えのフィールドに設定してるのはどこ
さ。

評価

0

ああ、特定のセルならそのタイミングじゃ駄目か。
セルレンダラのサンプルを見てみたの?

評価

0

http://terai.xrea.jp/Swing/StripeTable.html

例えばこのへんのロジックを見て、メソッドの引数を見て、予想できない
かなあ。
少しでも「こうかな」と思ったら試してみること。
それもとても大事なことだ。

評価

0

みなさん回答ありがとうございます。

勉強不足ですみません。もう少し考えてから質問するべきで
した。

おかげ様で、できました。
ありがとうございました。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。