你应该给jtable指定每列的宽度,而且要设置成调整某列宽度时,其他列宽度不变默认情况下,jtable总是在jscrollpane的可视宽度下自动分配每列的宽度,调整某列宽度更大时
别的列的宽度又会变小

解决方案 »

  1.   

    设置每列的宽度,再就是设置JScrollPane()的水平滚动条属性,可以再JScrollPane()的构造函数里面设定,也可以通过其方法设定,具体的去看看文档下javax.swing.ScrollPaneConstants下的几个常量值!!
      

  2.   

    TableColumn column1 = table.getColumnModel().getColumn(0);
    column1.setPreferredWidth(300);上面的代码可以设置宽度,但是其他列宽度会随之改变,我不知道用什么api来让其他列宽度不变;谢谢
      

  3.   

    sortTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); 
    这个可以table表加个水平的滚动条。
      

  4.   

    需要设置列的最小宽度
    TableColumnModel columnsize = table1.getColumnModel();
    设置最小宽度
    columnsize.getColumn(0).setMinWidth(30);
    设置当前宽度
    columnsize.getColumn(0).setPreferredWidth(30);
    这样就列宽就不会变!
      

  5.   

    sortTable.setAutoResizeMode(0)
    关闭表格的自动调整列宽属性就行了
      

  6.   

    zhangtiao(尘) 兄的方法是正确的,
    我也遇到过这个问题,也是这样解决的。
      

  7.   

    aTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF)
    关闭表格的自动大小功能