Я хочу раскрасить каждую строку таблицы, используя определенные значения базы данных
spcification of mine database is some what like ** id name color 1 pavan red 2 xyz white **
я могу указать цвет для полной таблицы, используя
table.setBackground(new color(158,145,134); please provide me some solution or hint to approch towards answer, Thanks in advance.
Параметры вместо JTable
comment
Почему вы говорите, что это сложно применить на JTable? Вы ознакомились с этим руководством?
- person assylias   schedule 30.03.2012
comment
JXTable (из проекта SwingX) поддерживает маркеры и по умолчанию содержит альтернативный маркер строк, что делает это требование почти однострочным.
- person Robin   schedule 30.03.2012
comment
но можем ли мы применить его для каждой строки в соответствии со значением db заранее спасибо
- person Pavan Gomladu   schedule 31.03.2012
Ответы (1)
С JTable это совсем не сложно! На самом деле, это невероятно легко!
Смотрите мой ответ здесь: Выделите ячейку в JTable через пользовательскую модель таблицы
Воспроизведено для удобства:
...Подкласс JTable и переопределить JTable.preparedRenderer(TableCellRenderer renderer, int row, int column)
. Если числа row
и column
совпадают, вы можете изменить цвет фона Component
, возвращаемого в качестве отображаемого (обычно это JLabel
);
Вот пример, который выделяет строку, над которой находится мышь:
@Override
public Component prepareRenderer(final TableCellRenderer renderer, final int row, final int column) {
final Component c = super.prepareRenderer(renderer, row, column);
if (row == this.itsRow) {
c.setBackground(Color.RED);
}
return c;
}
где this.itsRow
— поле int, обновленное MouseMotionListener
:
this.addMouseMotionListener(new MouseMotionListener() {
public void mouseMoved(MouseEvent e) {
SubclassedJTable.this.itsRow = SubclassedJTable.this.rowAtPoint(e.getPoint());
SubclassedJTable.this.repaint();
}
public void mouseDragged(MouseEvent e) {/***/}
});
person
BenCole
schedule
30.03.2012
сэр, необходимо, чтобы номера строк и столбцов были одинаковыми, чтобы покрасить каждую строку в соответствии со значением db rply... спасибо
- person Pavan Gomladu; 31.03.2012