有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Jtable保留列宽

我有一个Jtable,其中我使用setDataVector函数设置数据。它工作得很好,但是假设我仅仅通过使用鼠标拖动改变了一些列宽,在新数据加载到同一个表中之后,该列的宽度重置为默认位置。所以基本上我想保留这个宽度,即使加载了新数据


共 (1) 个答案

  1. # 1 楼答案

    使用自定义表格模型时。不要使用setDateVector(),它会重新创建列。您可以使用setPreferredWidth()方法手动管理列的宽度,如下所示:

          table.setModel(buildTableModel(rs));
          TableColumnModel tcm = table.getColumnModel();
          tcm.getColumn(0).setPreferredWidth(80);  
          tcm.getColumn(1).setPreferredWidth(200);  
          tcm.getColumn(2).setPreferredWidth(100);  
          tcm.getColumn(3).setPreferredWidth(100);  
          tcm.getColumn(4).setPreferredWidth(100);