获取 JTable 列的实际宽度

时间:2021-03-13 12:53:22

标签: java swing jtable

我编写了一个实用程序来显示文件夹树中文件夹占用的磁盘空间。它使用一个 JTable,其中包含文件夹名称、占用空间、占用空间百分比、文件数量等列。

我想实现将列大小调整为用户双击列与其下一列之间的边框时显示的最宽字符串所需的最小宽度的标准功能。我查找了如何执行此操作的示例,它们适用于包含和显示字符串的列。

我的“文件夹名称”列在文件夹名称前添加了一个图标;图标中的图形指示文件夹是折叠、展开还是没有子文件夹,并设置为宽度以表示它在文件夹层次结构中的深度(子文件夹从其父文件夹缩进等)

我的“大小”列使用以字节为单位的值,并将其转换为 1-3 位数字后跟一个空格或字母的值,指示它是以字节、千字节、兆字节还是千兆字节为单位。

所以当执行确定列宽的代码时,它获取的是字符串的宽度,但是在这两种情况下,字符串的宽度不是设置列的正确宽度;对于其中之一,实际上通常对于 JTable 单元格,仅获取字符串宽度并不能给出列的宽度。

那么如何才能获得 JTable 单元格内容所需的最小显示宽度,即使内容不是字符串?

0 个答案:

没有答案