我在我的Java應用程序中有一個JTable並應用於它,它有一個自定義的渲染器,用於更改表格最後一行的背景顏色。就像這樣:如何保持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;
}
});
然而,當我調整窗口的大小,它看起來像這樣:
爲了恢復正常,我必須清除表格並重新添加項目,我應該怎麼做以保持調整大小時的表格外觀?謝謝。
謝謝你的工作!我會在5分鐘內接受你的回答,因爲堆棧溢出現在不允許我接受它。 –
@AlexandreKrabbe:首先對camickr總是優秀的建議進行批判性的審視。 1+對我的回答表示支持。 –