基本上,我有一个 JTable,其中包含具有右对齐单元格但左对齐标题的列,这看起来非常糟糕。我想在不改变标题的“外观”的情况下右对齐这些列的标题。
谢谢
最佳答案
这是修改表的 JTableHeader
的 TableCellRenderer
的另一种方法.这种用法并不是绝对必要的,但它可以最大限度地减少对 UI 委托(delegate)外观的影响。
典型用法:
JTable table = new JTable(…);
JTableHeader header = table.getTableHeader();
header.setDefaultRenderer(new HeaderRenderer(table));
自定义标题渲染器:
private static class HeaderRenderer implements TableCellRenderer {
DefaultTableCellRenderer renderer;
public HeaderRenderer(JTable table) {
renderer = (DefaultTableCellRenderer)
table.getTableHeader().getDefaultRenderer();
renderer.setHorizontalAlignment(JLabel.CENTER);
}
@Override
public Component getTableCellRendererComponent(
JTable table, Object value, boolean isSelected,
boolean hasFocus, int row, int col) {
return renderer.getTableCellRendererComponent(
table, value, isSelected, hasFocus, row, col);
}
}
关于java - JTable 右对齐表头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7493369/