有以下代码: 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); 可我试了不管用也不知道是不是加的位置不对
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); 可我试了不管用也不知道是不是加的位置不对
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);
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才会自动出现.
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);
参数改用HORIZONTAL_SCROLLBAR_ALWAYS如果你想水平ScrollBar总是出现的话.
2。让tableAUTO_RESIZE_OFF
3。把table的各列设置宽一些
这样就能让滑块显示出来了,就能实现水平滚动控制