在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并调用setHorizontalAlignment(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