我有一个有 9 列的 JTable,我知道我可以为每列创建自定义单元格渲染器,但每个渲染器大约需要 8 行代码。
但我真正需要的只是将所有单元格中的文本显示为右对齐。有没有办法为整个表格设置这种对齐方式?
在此先感谢您的任何建议。
约翰·多纳
我有一个有 9 列的 JTable,我知道我可以为每列创建自定义单元格渲染器,但每个渲染器大约需要 8 行代码。
但我真正需要的只是将所有单元格中的文本显示为右对齐。有没有办法为整个表格设置这种对齐方式?
在此先感谢您的任何建议。
约翰·多纳
试试这个:
for (int i = 0; i < myTable.getModel().getRowCount(); i++) {
for (int j = 0; j < myTable.getModel().getColumnCount(); j++) {
DefaultTableCellRenderer renderer =
(DefaultTableCellRenderer)myTable.getCellRenderer(i, j);
renderer.setHorizontalAlignment(JTextField.RIGHT);
} // End for(j)
} // End for(i)
由于每个单元格已经有一个渲染器,这会从 中获取每个单元格的现有值TableCellRenderer
,TableModel
并使用setHorizontalAlignment(int)
从JLabel
.
希望这就是你要找的!