我最近刚开始学习JAVA,使用eclipse;Jtable怎么没有模着的滚动条,有竖着的;
结构是这样的.JPanel->Jscrollpane->Jtable
怀疑是宽度固定了.怎么拉总的宽度也不变,不知为何.
jJavaEclipsejtableStructure

解决方案 »

  1.   

    大学时学java就是玩AWT和SWING,走出学校后再没用过!忘光了!
      

  2.   

    建议:
    (1)增加JPanel或最外层JFrame的宽度;
    (2)检查是否设置列宽不可拉伸:
    this.table.getTableHeader().setResizingAllowed(false);
      

  3.   

    都是大神啊 都在学java,我差的还是比较多啊
      

  4.   

    本人测试了一下,这个是设置只是让宽度不动:没其它效果;
    JPanel pnlData = new JPanel();
    pnlData.setBounds(0, 81, 340, 170);
    frame.getContentPane().add(pnlData);
    pnlData.setLayout(new CardLayout(0, 0)); tb_data = new JTable();
    tb_data.setFillsViewportHeight(true);
    tb_data.getTableHeader().setResizingAllowed(false);
    JScrollPane scrollPane = new JScrollPane(tb_data);
    scrollPane.setViewportBorder(new LineBorder(Color.GREEN, 2, true)); pnlData.add(scrollPane);
    还问下,那个表里怎么加上按钮的
      

  5.   

    我应该再讲清楚点的.呵呵.因为最外面的FRAME布局我选择的固定;那样就可以在上面任意拖动组件了.
    这个JPANEL刚好就是固定大小放在最下面.然后依次放入JSCROLLPANE,JTABLE;不知道最外层的FRAME设置是否有影响;frame.getContentPane().setLayout(null);
      

  6.   

    java做界面很少的,本人认为了解即可
      

  7.   

    创建JScrollPane可以指定一直显示纵/横的滚动条。
    JScrollPane(Component view, int vsbPolicy, int hsbPolicy) 
      

  8.   

    我记得如果想要让JScrollpane有横向的拉动的话,那么假如JScrollPane中的容器必须能够足够大才能使得横向滚动条出来吧..我感觉是你JTable里面的列少了几列..所以不需要显示横向滚动条..不过只是我想的..也不了解你的具体情况..只是发表一下自己的观点
      

  9.   


    但是你看到图啦。连标题都显示不完,那有办法设置宽一点。JTABLE没有宽度设置吧
      

  10.   

    setAutoResizeMode
    public void setAutoResizeMode(int mode)当调整表的大小时,设置表的自动调整模式。 参数:
    mode - 5 个合法值之一:AUTO_RESIZE_OFF、AUTO_RESIZE_NEXT_COLUMN、AUTO_RESIZE_SUBSEQUENT_COLUMNS、AUTO_RESIZE_LAST_COLUMN、AUTO_RESIZE_ALL_COLUMNS
    有没有试过这个方法..JTable设置自动调整模式AUTO_RESIZE_OFF
    public static final int AUTO_RESIZE_OFF不自动调整列的宽度;使用滚动条。 另请参见:
    常量字段值--------------------------------------------------------------------------------AUTO_RESIZE_NEXT_COLUMN
    public static final int AUTO_RESIZE_NEXT_COLUMN在 UI 中调整了一个列时,对其下一列进行相反方向的调整。 另请参见:
    常量字段值--------------------------------------------------------------------------------AUTO_RESIZE_SUBSEQUENT_COLUMNS
    public static final int AUTO_RESIZE_SUBSEQUENT_COLUMNS在 UI 调整中,更改后续列以保持总宽度不变;此为默认行为。 另请参见:
    常量字段值--------------------------------------------------------------------------------AUTO_RESIZE_LAST_COLUMN
    public static final int AUTO_RESIZE_LAST_COLUMN在所有的调整大小操作中,只对最后一列进行调整。 另请参见:
    常量字段值--------------------------------------------------------------------------------AUTO_RESIZE_ALL_COLUMNS
    public static final int AUTO_RESIZE_ALL_COLUMNS在所有的调整大小操作中,按比例调整所有的列。 试一下最后那个常量按比例自动调整列大小操作..
      

  11.   

    哈哈,我终于找到了。我原来使用C#的时候有个自动大小。我估计是这个问题。所以就去查找。原来真有这个东西;setAutoResizeMode(OFF)就可以了。
    楼上呀。你怎么来这么早呀。
      

  12.   

    看 《Swing Hacks》Hack 21. Size Your Columns to Suit Your JTable's Contents