0

我创建了一个表格,需要每隔一行向右对齐,每隔一行对齐。

我了解如何对齐行。这是我的默认渲染器

final DefaultTableCellRenderer centerRenderer = new DefaultTableCellRenderer();
centerRenderer.setHorizontalAlignment(DefaultTableCellRenderer.CENTER); 
final DefaultTableCellRenderer rightRenderer = new DefaultTableCellRenderer();
rightRenderer.setHorizontalAlignment(DefaultTableCellRenderer.RIGHT); 
4

2 回答 2

1

请参阅表格行渲染

这将允许您在一个位置更改对齐方式,即使您的表格使用多个渲染器并且无需创建自定义渲染器。

于 2013-02-27T16:32:39.640 回答
1

您必须稍微调整渲染器并覆盖其getTableCellRendererComponent方法。就像是:

DefaultTableCellRenderer 渲染器 = 新 DefaultTableCellRenderer() {
    public Component getTableCellRendererComponent(JTable 表,对象值,
            boolean isSelected, boolean hasFocus, int row, int column) {
        如果 (r % 2 == 0) {
            setHorizo​​ntalAlignment(SwingConstants.LEFT);
        }
        别的 {
            setHorizo​​ntalAlignment(SwingConstants.RIGHT);
        }
        return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
    }
};

DefaultTableCellRenderer尽管创建您自己的扩展并执行此操作的适当类将是一种更好的方法。

于 2013-02-27T14:54:38.990 回答