JTable table = new JTable(model);
getContentPane().add(new JScrollPane(),Border.CENTER);
这个是默认的添加滚动条,但是垂直的,如何加水平滚动条呢?

解决方案 »

  1.   

    table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
      

  2.   

    你的代码是不是这样的:
    JTable table = new JTable(model);
    getContentPane().add(new JScrollPane(table),Border.CENTER);如果是这样的,你所看到的默认的滚动条并不是JTable的,而是JScrollPane的。
    对于JScroolPane类的构造函数JScrollPane(),其垂直和水平滚动条只是在需要的时候才出现,坦白点说就是当JTable的HEIGHT>JScrollPane的HEIGHT时,垂直滚动条出现;JTable的WIDTH>JScrollPane的WIDTH时,水平滚动条出现。
    若你一定要让水平滚动条出现,可如下:
    getContentPane().add(new JScrollPane(table,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS),Border.CENTER);
    ps:
    table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    是用来设置JTable的列宽度是否随着JTable的变化而变化。
    off固定不变。~
      

  3.   

    table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    加这个吧
      

  4.   

    2楼的兄弟说的非常的对,table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF)加了这句话,我的table列没有自动的扩展填满jpanel,而只显示自己的数据,当我把某一列拉长的时候才出现水平滚动条,为此我用了getContentPane().add(new JScrollPane(table,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS),Border.CENTER);
    可是还不是我想要的,苦苦思索中..........
      

  5.   

    table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    是这个
      

  6.   

    你想要什么样的啊,
    JScrollPane里加个table就成啦,其它的什么都不用设置,它的滚动条会自动出来啊,不管哪个方向的啊
      

  7.   

    table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    正解+王道