我有一个使用 dtable 的 java gui,我试图突出显示添加的最后一行。在我的 GUI.java 文件中,我使用以下命令创建了 dtable:
public JTable display = new JTable(model){
public Component prepareRenderer(TableCellRenderer renderer, int row, int column)
{
Component c = super.prepareRenderer(renderer, row, column);
c.setBackground(Color.GREEN);
return c;
}
};
在我的 main.java 文件中,我使用 dtable 实例“display”创建 gui 类实例“gu”,并使用以下命令添加行:
DefaultTableModel model = (DefaultTableModel) gu.display.getModel();
model.addRow(new Object[] {"col1","col2"});
我想做的就是使用渲染器突出显示最后添加的行。调用它的代码是什么?
最佳答案
这个怎么样:
public JTable display = new JTable(model) {
@Override
public Component prepareRenderer(TableCellRenderer renderer, int row,
int column) {
Component c = super.prepareRenderer(renderer, row, column);
if (row == getColumnCount()) {
c.setBackground(Color.GREEN);
} else {
if (row % 2 == 0) {
c.setBackground(UIManager.getColor("Table.background"));
} else {
c.setBackground(UIManager
.getColor("Table.alternateRowColor"));
}
}
return c;
}
};
关于java - Jtable tablecell渲染器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25002050/