Предположим, у вас есть JTable
, и для каждой ячейки вы хотите отобразить три строки разного цвета, скажем, value1 (красный), value2 (синий), value3 (зеленый).
Я переопределил getTableCellRendererComponent
из DefaultTableCellRenderer
, но метод setForeground(Color)
дает уникальный цвет для всей строки, показанной в ячейке.
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
String s = table.getModel().getValueAt(row,column).toString();
StringTokenizer st = new StringTokenizer(s," ");
int nToken=st.countTokens();
value1=st.nextToken();
value2=st.nextToken();
value3=st.nextToken();
// so now all the values are blue...
setForeground(Color.blue);
return super.getTableCellRendererComponent(table, value, isSelected,
hasFocus, row, column);
}