我有一个包含9列的JTable,我知道我可以为每列创建自定义单元格渲染器,每个渲染器大约需要8行代码。
但我真正需要的是将所有单元格中的文本显示为右对齐。有没有办法为整个表设置这种对齐方式?
提前感谢任何建议。
John Doner
答案 0 :(得分:5)
试试这个:
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
。
希望这就是你要找的东西!