怎样才能在增加某个column的宽度时同时增加JTable的宽度而不是减少其他column的宽度。例如现在JTable的宽度时1000,其中有五个column,每个column的宽度是200,如果其中一个column被拉宽至3000,怎样不改变其他column的宽度,而把JTable的宽度增加为1100.xiexie

解决方案 »

  1.   

    你这个实现起来有工作量的,而且未必好实现。一般JTable本身会放到一个JScollPane里面,如果刚开始的JTable就已经充满了组件分配给的宽度,那么你怎么让column的宽度增加的同时自己JTable的宽度?
    再者,如果增加的时候JTable同时增加,那么在减少的时候,是否也同时减少呢?
      

  2.   

    jtable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);JScrollPane 出现水平 jscrollbar。
      

  3.   

    要窗口随着JTable的增加变宽是相对复杂的,你现在是把JTable放在JScrollPane里面,如果你增加JTable的列并且设置固定的宽度的话,当超过窗体的宽度,后面的列将不会显示出来,如果没有设置固定的宽度,将会在固定的窗体挤下这些列数,表头如果不够宽字体将会出现“某某....”,所以有一个方法可以让你后面的也可以看见,那就是加载滚动条,无论你加多宽,都可以实现在后面增加,
    jTable1.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
    jPanel1.setLayout(new BorderLayout());jScrollPane1.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    如果不成功就只写jTable1.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
    这些代码是写在初始化表格的时候。