java - 获取列标题的宽度

标签 java jdbc resize columnheader

我正在尝试根据列标题和列宽度调整列的大小。

我在这方面取得了一些成功,但这实际上只是一个临时解决方案。

我设置的最小宽度仅适用于一个表格,但是我正在预览许多具有不同列标题的表格,因此有时此最小宽度会太小。我想要一种获取最小列标题的列标题宽度并将其分配给此变量的方法。

final TableColumnModel columnModel = table.getColumnModel();
                    for (int column = 0; column < table.getColumnCount(); column++) 
                    {
                        int width = 70; // Min width
                        for (int row = 0; row < table.getRowCount(); row++) 
                        {
                            TableCellRenderer renderer = table.getCellRenderer(row, column);
                            Component comp = table.prepareRenderer(renderer, row, column);
                            width = Math.max(comp.getPreferredSize().width +1 , width);
                        }
                        columnModel.getColumn(column).setPreferredWidth(width);
                    }

更新:

我尝试对正在循环的列使用 DefaultTableCellRenderer,然后获取列标题宽度并将其应用到变量,但结果是这样的

enter image description here

final TableColumnModel columnModel = table.getColumnModel();
                    for (int column = 0; column < table.getColumnCount(); column++) 
                    {
                        DefaultTableCellRenderer colwidth=((DefaultTableCellRenderer)table.getTableHeader().getDefaultRenderer());
                        int width = colwidth.getWidth();
                        for (int row = 0; row < table.getRowCount(); row++) 
                        {
                            TableCellRenderer renderer = table.getCellRenderer(row, column);
                            Component comp = table.prepareRenderer(renderer, row, column);
                            width = Math.max(comp.getPreferredSize().width +1 , width);
                        }
                        columnModel.getColumn(column).setPreferredWidth(width);
                    }

最佳答案

table.getColumnModel().getColumn("您想要的列").getPreferredWidth();

关于java - 获取列标题的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39465960/

相关文章:

java - 无法从 Java Netbeans 连接到 Mariadb

python - 使用 .grid 将 tkinter 列表框的大小调整为最大项目的宽度

jquery - 准确的高度数字

java - 如何处理 ExpandableListView 子级的一行中不同 View 的单击事件

java - 在 JavaFX 构建中添加外部 jar 文件

java - 如何为从配置单元 jdbc 查询启动的 mr 作业指定额外的 jar?

javascript - 将 div 定位到右侧,宽度未定义

java - 访问Grayscale bufferedImage中的像素并更改java中的像素值

java - Controller 和facade之间的通信,转换请求=> dto

postgresql - 为什么 postgres 强制 sslmode=verify-full 虽然它不在连接字符串中