对齐JTable中单元格的值?

2022-09-01 19:51:15

我不知道如何在JTable中对齐单元格的值。

对于例如,Jtable显示,姓名 薪水先生X 100000.50 XXXX 234.34 YYYY 1205.50

我想将“工资”调整为以下格式。

   Name      Salary
   Mr.X      100000.50
   XXXX         234.34
   YYYy        1205.50

如何像上面的JTable一样对齐


答案 1

无需为此创建自定义类,只需使用默认渲染器:

DefaultTableCellRenderer rightRenderer = new DefaultTableCellRenderer();
rightRenderer.setHorizontalAlignment(SwingConstants.RIGHT);
table.getColumnModel().getColumn(???).setCellRenderer(rightRenderer);

或者更好的方法是在表中实际存储Double值,然后使用适当的数字渲染器,并且数字渲染器会自动右对齐。然后,您可以使用表格格式渲染器自定义数字的格式。


答案 2

我们需要做一个小的修正,正确的方法是DefaultTableCellRenderer.RIGHT

DefaultTableCellRenderer rightRenderer = new DefaultTableCellRenderer();
rightRenderer.setHorizontalAlignment(DefaultTableCellRenderer.RIGHT);
tableExample.getColumn("Price").setCellRenderer( rightRenderer );

注意与camickr的原始响应的区别,“Price”是列的名称,根据情况而变化。


推荐