我有一个JTable,我填充了一个扩展AbstractTableModel的类。问题是列太短而无法显示列名。我已经关闭了Jtable AutoResizeMode属性,但仍然会发生缩短。我该如何解决这个问题?
答案 0 :(得分:3)
您可以使用Table Column Adjuster根据标题文字调整列宽。
getColumnHeaderWidth(...)
显示了如何使用标题文本和渲染器计算实际宽度。
答案 1 :(得分:2)
有两种方式
1)从PreferredSize
计算TableColumn
(通过defalut返回JLabel),有3-4种正确的方法来确定显示的TextLenght in pixex
(另外请加上5-8个像素)
2)setPreferredSize
直接,例如TableColumn#setPreferredSize
答案 2 :(得分:2)
设置自动调整大小模式只会阻止调整Table的列的大小。强制特定宽度检索表列模型:
TableColumn column = jtable.getColumnModel().getColumn(col_num);
并设置所需的宽度:
column.setPreferredWidth(width);