有以下代码: ResultSetMetaData rsmd; dm=new DefaultTableModel(info,names); 
JTable table=new JTable(dm); 
JScrollPane sp=new JScrollPane(table); 
jpanel.setLayout(new BorderLayout()); 
jpanel.removeAll(); 
jpanel.add(sp,BorderLayout.CENTER); 哪位能告诉一下在哪里修改或添加代码能使jtable或jscrollpane实现水平滚动条控制,急用,谢谢。ps:网上很多都是教的这样添加代码:table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); 可我试了不管用也不知道是不是加的位置不对

解决方案 »

  1.   

    用JScrollPane的 setViewportView(jTable)方法;
      

  2.   

    我加在add方法那一句前头 可是不行啊 是我加的位置不对吗?
      

  3.   

    ResultSetMetaData rsmd; dm=new DefaultTableModel(info,names); 
    JTable table=new JTable(dm); 
    table.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);// 水平滚动条
    JScrollPane sp=new JScrollPane(table); 
    jpanel.setLayout(new BorderLayout()); 
    jpanel.removeAll(); 
    jpanel.add(sp,BorderLayout.CENTER); 
      

  4.   

    ResultSetMetaData rsmd; 
    dm=new DefaultTableModel(info,names); 
    JTable table=new JTable(dm); 
    JScrollPane sp=new JScrollPane(); //不需要把table作为参数
    sp.setViewportView(table);jpanel.setLayout(new BorderLayout());  
    jpanel.add(sp,BorderLayout.CENTER); 上面这种方法,只有当你table的数据很多,空间不够的时候,scrollBar才会自动出现.
      

  5.   

    Vector info = new Vector();
    Vector row = new Vector();
    row.add("gaga");
    info.add(row);
    row.add("gege");
    info.add(row);
    row.add("gigi");
    info.add(row);
    Vector names = new Vector();
    names.add("1");
    names.add("2");
    names.add("3");
    DefaultTableModel dm=new DefaultTableModel(info,names); 
    JTable table=new JTable(dm); 
    table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    JScrollPane sp=new JScrollPane(table); 

    sp.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    JFrame jf = new JFrame();
    jf.setLayout(new BorderLayout()); 
    jf.add(sp,BorderLayout.CENTER); 
    jf.setSize(150, 200);
    jf.setVisible(true);
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      

  6.   

    sp.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    参数改用HORIZONTAL_SCROLLBAR_ALWAYS如果你想水平ScrollBar总是出现的话.
      

  7.   

    1。让水平滚动条总是显示
    2。让tableAUTO_RESIZE_OFF
    3。把table的各列设置宽一些
    这样就能让滑块显示出来了,就能实现水平滚动控制
      

  8.   

    谢谢Gary_Xu 我一下学到了两种方法