我试图将单元格中数字的颜色设置为红色(如果是负数),如果是正数则设置为绿色。
这是我的表:
private void setTable(Object[][] rowData, Object[] columnNames) {
table = new JTable(rowData, columnNames) {
@Override
public boolean isCellEditable(int row, int column) {
return false;
};
};
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
table.getColumnModel().getColumn(0).setPreferredWidth(60);
table.getColumnModel().getColumn(0).setResizable(false);
table.getColumnModel().getColumn(1).setPreferredWidth(365);
table.getColumnModel().getColumn(1).setResizable(false);
table.getColumnModel().getColumn(2).setPreferredWidth(50);
table.getColumnModel().getColumn(2).setResizable(false);
DefaultTableCellRenderer rightRenderer = new DefaultTableCellRenderer();
rightRenderer.setHorizontalAlignment(JLabel.RIGHT);
table.getColumnModel().getColumn(2).setCellRenderer(rightRenderer);
}
第3列包含正数/负数。
答案 0 :(得分:0)
创建一个自定义TableCellRenderer,它使用JLabel作为其组件,并根据其值更改其背景颜色(@see getTableCellRendererComponent方法)。