小弟的一个程序,通过jtable来显示数据.因为列比较多.,所以希望通过水平滚动条来显示.
现在的情况:运行程序,没有滚动条,所有的列都很窄,而且所有的列宽度一样,随着jframe宽度变化而变化.

解决方案 »

  1.   

    把JTable加入JSplitPane中就会自到出现滚动条.
      

  2.   

    不好意思,应该是加入JScrollPanel
    JScrollPane scrollPane = new JScrollPane(table);
    frame.getContentPane().add(scrollPanel, BorderLayout.CENTER);
      

  3.   

    我之前的程序就是这样写的,不行类!
    JScrollPane scrollPane = new JScrollPane(table);
    scrollPane.setAutoscrolls(true);
    jframe.getContentPane().add(scrollPane);
    还有可能是什么原因呢?
      

  4.   

    JScrollPane scrollPane = new JScrollPane(table);
    scrollPane.setAutoscrolls(true);
    jframe.getContentPane().add(scrollPane);  //试试直接在框架的构造函数中add(scrollPane)看行不行
      

  5.   

    Pigwen(Pigwen)大哥,你说"试试直接在框架的构造函数中add(scrollPane)看行不行".是什么意思呀?能说的具体点么?
      

  6.   

    我在同样的jframe里放另外一个jtextarea,水平滚动条就出来了!
    String sre = "jddddddddddddddddddwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww";
    JTextArea textArea = new JTextArea();
    textArea.append(sre);
    JScrollPane scrollPane1 = new JScrollPane(textArea);
    jframe.getContentPane().add(scrollPane1);
    为什么会这样呀!为什么放个jtable进去就没有水平滚动条了呢?是不是跟jtable的column有关呀?
      

  7.   

    我也遇到过着个问题,最后用的是AUTO_RESIZE_OFF
    解释:根本不自动调整列的宽度。当列的总宽度超过 Viewport 的宽度时,使用水平滚动条来适应列的宽度。如果 JTable 没有封闭在 JScrollPane 中,则可能导致该表的一部分不可见。
      

  8.   

    正解
    jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_NEXT_COLUMN);
      

  9.   

    jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);