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