У меня есть JTable следующим образом:Изменение цвета строки в JTable
Я хочу, чтобы, когда значение в Quantité
меньше, чем значение в Min seuil de suantité
, чтобы изменить цвет ряд к розовому.
В загрузке программы все работает нормально, но когда я делаю какое-либо событие, например, щелчок по таблице, цвет всех строк изменяется, даже если значение Quantité
не меньше значения Min seuil de quantité
:
это моя клетка рендеринга:
public class CustomTableCellRenderer extends DefaultTableCellRenderer {
public Component getTableCellRendererComponent(JTable table,
Object obj, boolean isSelected, boolean hasFocus, int row, int column) {
Component cell = super.getTableCellRendererComponent(
table, obj, isSelected, hasFocus, row, column);
setHorizontalAlignment(SwingConstants.LEFT);
int selectedRow = table.convertRowIndexToModel(row);
if (table.getModel().getValueAt(selectedRow, 3) != null && table.getModel().getValueAt(selectedRow, 4) != null) {
int quantite = Integer.parseInt(table.getModel().getValueAt(selectedRow, 3).toString());
int minQuantite = Integer.parseInt(table.getModel().getValueAt(selectedRow, 4).toString());
if (quantite < minQuantite) {
if (isSelected) {
cell.setBackground(new Color(255, 138, 239));
} else {
cell.setBackground(new Color(252, 189, 252));
}
}
}
return cell;
}
}
и это код, который позволяет мне воздействовать на клетки рендеринга к моему столику:
private void cellRendering(){
for (int i = 0; i < masterTable.getColumnCount(); i++) {
tcol = masterTable.getColumnModel().getColumn(i);
tcol.setCellRenderer(new CustomTableCellRenderer());
}
}
@ user2417302 не так, снова та же проблема, действительно время для использования prepareRenderer, не разбирайте все, что хранится в XxxTableModel, кладите туда Double, Integer, независимо от экземпляра Number, большая часть проблемы будет решена путем публикации SSCCE, короткой , runnable, compilable, с жестко запрограммированным значением для XxxTableModel – mKorbel
@ user2417302 для остальной (любой) проблемы, чтобы [видеть мое сообщение о] (http://stackoverflow.com/q/16814512/714968), я уверен, что видел очень похожий вопрос на другом форуме Java или я ошибаюсь – mKorbel