在JTable列中设置右对齐

Ari*_*020 19 java swing jtable

我正在为计费工具创建一个应用程序.我希望使用右对齐显示金额列.如何为JTable列设置正确的对齐方式?

小智 33

DefaultTableCellRenderer rightRenderer = new DefaultTableCellRenderer();
rightRenderer.setHorizontalAlignment(JLabel.RIGHT);
table.getColumnModel().getColumn(4).setCellRenderer(rightRenderer);
Run Code Online (Sandbox Code Playgroud)

  • + 1表示正确答案,只需:a)*不要关注*b)请学习java命名约定并坚持下去(你可以编辑你的答案并修复它们) (6认同)

Emi*_*mil 8

试试这个:

JTable tbl = new JTable(3,3) {
    DefaultTableCellRenderer renderRight = new DefaultTableCellRenderer();

    { // initializer block
        renderRight.setHorizontalAlignment(SwingConstants.RIGHT);
    }

    @Override
    public TableCellRenderer getCellRenderer (int arg0, int arg1) {
        return renderRight;
    }
};
Run Code Online (Sandbox Code Playgroud)


tra*_*god 5

请参阅概念:编辑器和渲染器,注意" Number- 由右对齐标签呈现".只需让你TableModel回到正确的班级.作为一个具体的例子,注意这Integer是一个Number,同时检查getColumnClass()这个例子中的实现.