1つの列に次の形式で値が表示されるJTableがあります。
423545(50),[7568787(50)],53654656,2021947(50),[021947],2021947(50),[8021947(50)]
角かっこ内の値を赤で表示できるかどうか疑問に思っていますか?
私はここ数日グーグルしていて、セルの「背景」を設定する方法を示すいくつかの例を見つけましたが、特にテキストの特定の部分ではなく、セルのフォントを変更する方法は実際にはありません。
public class myTableCellRenderer
extends DefaultTableCellRenderer {
public Component getTableCellRendererComponent(JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column) {
Component c =
super.getTableCellRendererComponent(table, value,
isSelected, hasFocus,
row, column);
if (column == 3) {
c.setForeground(Color.YELLOW);
c.setBackground(Color.RED);
}
return c;
}
テキストの一部を別の色(つまり、角かっこ内にあるテキスト)に変更することは本当に可能ですか?
編集
例として示したテキストは、テーブルセルに表示されている実際のテキストです(コンマ区切り文字は列を表していません)。セルに表示されるテキストは、列3のテーブルに表示されるコンマ区切りの文字列です。
例として、テーブルは次のようになります。
product_id |product_name| invoice_numbers
12 | Books | 423545(50),[7568787(50)],53654656,2021947(50),[021947],2021947(50),[8021947(50)]
323 | Videos | 423545(50),[7568787(50)],53654656,2021947(50),[021947],2021947(50),[8021947(50)]
4434 | Music | 423545(50),[7568787(50)],53654656,2021947(50),[021947],2021947(50),[8021947(50)]