java - JTable 右对齐表头

标签 java swing user-interface jtable jtableheader

基本上,我有一个 JTable,其中包含具有右对齐单元格但左对齐标题的列,这看起来非常糟糕。我想在不改变标题的“外观”的情况下右对齐这些列的标题。

谢谢

最佳答案

这是修改表的 JTableHeaderTableCellRenderer 的另一种方法.这种用法并不是绝对必要的,但它可以最大限度地减少对 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/

相关文章:

java - 比较两个字符串并根据结果显示图像

asp.net-mvc - asp.net mvc - 完全脱离 DB 中的自定义字段构建 View

c# - c# 应用程序的所有字符仅在一台计算机中显示为方 block 字符

线程中的 Java : Thread. sleep():无需等待

java - Spring 和 Hibernate 依赖关系尚未解决

java - java.length或我的整个程序出现问题

java - 滚动后 JTextField 通过 JComboBox 的下拉列表显示

html - 如何制作 Google Reader/Gmail 的 ListView

java - 是否可以找到所有可用的 EntityManager 属性?

java - 未找到请求的操作的编解码器 : [timestamp <-> java. util.UUID]