Ven*_*kat 24 java jtable alignment
我不知道如何在JTable中对齐单元格的值.
对于Ex,Jtable显示,姓名薪水Mr.X 100000.50 XXXX 234.34 YYYy 1205.50
我想以下列格式对齐"工资".
Name Salary
Mr.X 100000.50
XXXX 234.34
YYYy 1205.50
Run Code Online (Sandbox Code Playgroud)
如何在JTable上面对齐
cam*_*ckr 43
无需为此创建自定义类,只需使用默认渲染器:
DefaultTableCellRenderer rightRenderer = new DefaultTableCellRenderer();
rightRenderer.setHorizontalAlignment(SwingConstants.RIGHT);
table.getColumnModel().getColumn(???).setCellRenderer(rightRenderer);
Run Code Online (Sandbox Code Playgroud)
或者更好的方法是在表中实际存储Double值,然后使用正确的数字渲染器,并且数字渲染器自动右对齐.然后,您可以使用表格格式渲染器自定义数字的格式.
Adr*_*ian 10
我们需要做一个小的修正,正确的方法是DefaultTableCellRenderer.RIGHT
DefaultTableCellRenderer rightRenderer = new DefaultTableCellRenderer();
rightRenderer.setHorizontalAlignment(DefaultTableCellRenderer.RIGHT);
tableExample.getColumn("Price").setCellRenderer( rightRenderer );
Run Code Online (Sandbox Code Playgroud)
注意与camickr的原始响应的差异,"Price"是列的名称,根据情况改变.
一种简单的方法是使用DefaultTableModel和override方法getColumnClass()
Ex:
DefaultTableModel model = new DefaultTableModel() {
@Override
public Class getColumnClass(int columnIndex) {
if (columnIndex == 0) {
return Integer.class;
} else {
return String.class;
}
}
};
Run Code Online (Sandbox Code Playgroud)
如果返回Integer,则列将对齐anh如果返回String,则列将向左对齐.
| 归档时间: |
|
| 查看次数: |
67393 次 |
| 最近记录: |