我格式化了jTable中的列,但样式值列STT的更改与列Loại Nhân Viên的值不同,列STT的更改不如默认值。



格式化列STT的代码

DefaultTableCellRenderer cellRenderer = new DefaultTableCellHeaderRenderer();
cellRenderer.setHorizontalAlignment(JLabel.CENTER);
table.getColumnModel().getColumn(column).setWidth(50);
table.getColumnModel().getColumn(0).setMaxWidth(50);
table.getColumnModel().getColumn(0).setMinWidth(50);
table.getColumnModel().getColumn(0).setPreferredWidth(50);
table.getColumnModel().getColumn(0).setCellRenderer(cellRenderer);


如何解决?谢谢。

最佳答案

尝试使用DefaultTableCellRenderer而不是DefaultTableCellHeaderRenderer(无论如何,它不在公共API中,因此可能不应该使用)。

DefaultTableCellRenderer cellRenderer = new DefaultTableCellRenderer();
cellRenderer.setHorizontalAlignment(JLabel.CENTER);
table.getColumnModel().getColumn(column).setWidth(50);
table.getColumnModel().getColumn(0).setMaxWidth(50);
table.getColumnModel().getColumn(0).setMinWidth(50);
table.getColumnModel().getColumn(0).setPreferredWidth(50);
table.getColumnModel().getColumn(0).setCellRenderer(cellRenderer);

08-25 14:40