在JTable列中设置右对齐

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

DefaultTableCellRenderer rightRenderer = new DefaultTableCellRenderer(); rightRenderer.setHorizontalAlignment(JLabel.RIGHT); table.getColumnModel().getColumn(4).setCellRenderer(rightRenderer); 

尝试这个:

 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; } }; 

请参阅概念:编辑器和渲染器 ,注意“ Number – 由右对齐标签呈现”。 让你的TableModel返回正确的类。 作为一个具体示例,请注意Integer是一个Number ,同时在此示例中检查getColumnClass()的实现。

您必须为表格单元格获取DefaultTableCellRenderer并调用setHorizo​​ntalAlignment(alignment)。

示例可以在链接上找到:

http://www.techrepublic.com/article/how-to-justify-data-in-a-jtable-cell/5032692/

http://www.coderanch.com/t/337549/GUI/java/align-data-columns-JTable