【发布时间】:2019-05-22 07:09:47
【问题描述】:
下午好, 我用于渲染 JTable 的渲染类有问题。我想要的是将第 1 到 4 行的背景颜色设置为蓝色,从 5 到 6 设置为橙色,从 18 到 20 设置为红色。但是,它不允许我这样做。我没有收到任何类型的错误,但这段代码只允许我设置这三个条件之一。如果我输入这段代码,表格中唯一弹出的就是最后三行红色,我想要同时显示这三行。
class TeamBold extends DefaultTableCellRenderer {
private String nombre;
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
int row, int column) {
JLabel parent = (JLabel) super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if (value.equals(nombre)) {
parent.setFont(parent.getFont().deriveFont(Font.BOLD)); //Here I just set a certain cell to bold
}
for (int i = 0; i<table.getRowCount();i++) {
}
if (row >= 0 && row <4) {
parent.setBackground(Color.BLUE);
parent.setForeground(Color.WHITE);
}
if (row >= 4 && row <6) {
parent.setBackground(Color.orange);
parent.setForeground(Color.WHITE);
}
if (row >= 17 && row <19) {
parent.setBackground(Color.RED);
parent.setForeground(Color.WHITE);
}
else {
parent.setBackground(Color.white);
}
return parent;
}
【问题讨论】: