`

JTable的列宽与内容的自适应--转

阅读更多

JTable的列宽与内容的自适应
JTable默认的各列宽度平均,下函数可以实现各列宽度与内容长度适应!来自互联网~

 

public void FitTableColumns(JTable myTable){
  JTableHeader header = myTable.getTableHeader();
     int rowCount = myTable.getRowCount();

     Enumeration columns = myTable.getColumnModel().getColumns();
     while(columns.hasMoreElements()){
         TableColumn column = (TableColumn)columns.nextElement();
         int col = header.getColumnModel().getColumnIndex(column.getIdentifier());
         int width = (int)myTable.getTableHeader().getDefaultRenderer()
                 .getTableCellRendererComponent(myTable, column.getIdentifier()
                         , false, false, -1, col).getPreferredSize().getWidth();
         for(int row = 0; row<rowCount; row++){
             int preferedWidth = (int)myTable.getCellRenderer(row, col).getTableCellRendererComponent(myTable,
               myTable.getValueAt(row, col), false, false, row, col).getPreferredSize().getWidth();
             width = Math.max(width, preferedWidth);
         }
         header.setResizingColumn(column); // 此行很重要
         column.setWidth(width+myTable.getIntercellSpacing().width);
     }

 

在表格数据变化后,请调用FitTableColumns(yourTableName);

网上很多,我试过,但大多不起作用,目前为止只发现这个行
原文地址:http://www.ieee.org.cn/dispbbs.asp?boardID=41&ID=52381

分享到:
评论

相关推荐

    基于JTable的列宽与内容自适应的实现方法

    以下是一种实现`JTable`列宽自适应的方法。 首先,我们需要理解`JTable`的结构。`JTable`由`TableModel`、`TableColumnModel`和`TableHeader`三部分组成。`TableModel`存储数据,`TableColumnModel`管理列,而`...

    Java中JTable的用法

    具体如何设置选择模式不在给定的部分内容中体现,但可以根据实际需求利用JTable的相关API进行设置。 综上所述,JTable作为Swing框架中的核心组件之一,在Java桌面应用程序中扮演着重要角色。通过对上述各项特性的...

    java编程技巧.txt

    JTable列宽自适应 #### 知识点: - **表格列宽设置**:通过`JTable`和`TableColumn`类可以获取和设置列宽。 #### 示例代码解析: ```java private int getPreferredWidthForColumn(JTable table, TableColumn col...

    java 读取数据库mysql千余条微博excel数据,并用swing界面显示结果

    3. 自定义表格列:可以通过重写`DefaultTableModel`的方法来调整列的显示方式,如数据格式化、列宽自适应等。 4. 布局管理:使用`GridBagLayout`或`BoxLayout`等布局管理器,合理安排GUI组件的位置。 5. 添加事件...

    十五款提高表格操作的jQuery插件

    11. **jTable**:jTable提供了完整的CRUD(创建、读取、更新、删除)功能,适合构建后台数据管理界面。 12. **Responsive Grid Table**:这款插件确保表格在不同设备上都能正确显示,实现自适应布局。 13. **...

    Java的小技巧(很小的)

    通过将`autoResizeMode`属性设置为`AUTO_RESIZE_OFF`,可以让表格根据实际列宽自适应,从而实现水平滚动功能。 ##### 7. 解决Swing中的中文乱码问题 在使用Swing开发界面时,有时候会遇到中文乱码的问题,尤其是...

Global site tag (gtag.js) - Google Analytics