0
我有一個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來解決, ,可運行,可編譯,其硬編碼值爲XxxTableModel – mKorbel
@ user2417302其餘任何問題[查看我的帖子](http://stackoverflow.com/q/16814512/714968),我相信我看到非常類似於另一個Java論壇的問題或錯誤 – mKorbel