DefaultTableCellRenderer

DefaultTableCellRenderer

我已经创建了一个表,需要将第二行右对齐,并将其他行默认对齐。

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

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

最佳答案

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

DefaultTableCellRenderer渲染器=新的DefaultTableCellRenderer(){
    公共组件getTableCellRendererComponent(JTable表,对象值,
            布尔值isSelected,布尔值hasFocus,整数行,整数列){
        如果(r%2 == 0){
            setHorizo​​ntalAlignment(SwingConstants.LEFT);
        }
        其他{
            setHorizo​​ntalAlignment(SwingConstants.RIGHT);
        }
        返回super.getTableCellRendererComponent(表,值,isSelected,hasFocus,行,列);
    }
};


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

08-25 14:40