【发布时间】:2017-11-21 00:35:57
【问题描述】:
我的 Java 应用程序中有一个 JTable,并应用了一个自定义渲染器来更改表格最后一行的背景颜色。像这样:
我通过自定义渲染器的以下代码实现了这一点:
table.setDefaultRenderer(Object.class, new DefaultTableCellRenderer(){
@Override
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus, int row, int col) {
super.getTableCellRendererComponent(table, value, isSelected,
hasFocus, row, col);
String status = (String)table.getModel().getValueAt(row, 0);
if ("Total".equals(status)) {
setBackground(Color.GRAY);
setForeground(Color.WHITE);
}
this.setHorizontalAlignment(CENTER);
return this;
}
});
但是,当我调整窗口大小时,它看起来像这样:
为了让它恢复正常,我必须清除表格并再次添加项目,我应该怎么做才能在调整大小时保持表格的外观?谢谢。
【问题讨论】:
标签: java swing jtable window-resize tablecellrenderer