在JScrollPane里面加入JTable问题 new JScrollPane(new JTable())怎么会呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 当然会了,代码如下,可以运行看看结果import java.awt.*;import javax.swing.*;import javax.swing.table.*;class Frame1 extends JFrame{ JButton jB1 = new JButton("aaaaaaaaaaaa"); JButton jB2 = new JButton("bbbbbbbbbbbb"); JButton jB3 = new JButton("cccccccccccc"); JButton jB4 = new JButton("ddddddddddddd"); JButton jB5 = new JButton("eeeeeeeeeeeee"); JButton jB6 = new JButton("eeeeeeeeeeeee"); JPanel jPanel = new JPanel(); JPanel jPanel2 = new JPanel(); JPanel jPanel3 = new JPanel(); JRadioButton b1 = new JRadioButton("Http"); JRadioButton b2 = new JRadioButton("Tcp"); ButtonGroup group = new ButtonGroup(); Object[] data = new Object[7]; DefaultTableModel defaulttablemodel = new DefaultTableModel(); JTable jtable = new JTable(defaulttablemodel); JScrollPane js = new JScrollPane(jtable); public Frame1(){ // setIconImage(new ImageIcon("1.jpg").getImage()); getContentPane().setLayout(new FlowLayout()); for(int column = 0; column < 7; column++){ defaulttablemodel.addColumn("Column " + column); } for(int row = 0; row < 10; row++) { for(int column = 0; column < 7; column++) { data[column] = "Cell " + row + "," + column; } defaulttablemodel.addRow(data); } jtable.setAutoResizeMode(0); jPanel2.add(js); group.add(b1); group.add(b2); jPanel3.add(b1); jPanel3.add(b2); this.getContentPane().add(jPanel); this.getContentPane().add(jPanel2); this.getContentPane().add(jPanel3); jPanel2.setBorder(BorderFactory.createTitledBorder( BorderFactory.createEtchedBorder(),"显示")); jPanel3.setBorder(BorderFactory.createTitledBorder( BorderFactory.createEtchedBorder(),"设定")); jPanel.add(jB1); jPanel.add(jB2); jPanel.add(jB3); jPanel.add(jB4); jPanel.add(jB5); setSize(800,600); // pack(); show(); }}public class MyFrame{ public static void main(String args[]){ new Frame1(); }} 我也碰到过这样的问题,原因是JTable中的数据不够支撑住JSrollPane, 如果JTable中有那么几十条就不会出现这样的问题。反正怎不能用程序来判断数据的行数然后再设置JTable的大小吧。 你的程序我Try了,没有问题啊!JTable jtable = new JTable(defaulttablemodel); JScrollPane js = new JScrollPane(jtable); 没有问题! 改变JScrollPane的大小js.setPreferredSize(new Dimension(500,160)); 我也遇到这个问题了,行数多看不出来,一旦少就不行了,还有,如果我得结果集列很多得时候,它给我密密麻麻的布置,横向就没有给我自动加上滚动条,不知道为什么table1.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS); scrollpane1=new JScrollPane(table1,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);这样不行阿 问题解决js.setPreferredSize(new Dimension(500,160));好用 zhouhouqu(潇湘夜雨) 你加上这句话jtable.setAutoResizeMode(0);你的问题就解决了。 (急)谁能帮我写个小程序 带界面的 请教一个数据入库的问题 实现接口与继承抽象类有什么区别?? 面试题 xml有哪些作用?用它来传输数据有什么好处? applet是什么东西? 多线程里为什么没有start()方法--谢谢 简单问题,applet的问题,帮忙 JNI 有看过JDK1.3源代码的人吗? 关于catch语句中异常类型导致的错误 swf文件怎么自动打到war包中? c[求助]orejava2Ⅰ的一个例题的修改
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;class Frame1 extends JFrame{
JButton jB1 = new JButton("aaaaaaaaaaaa");
JButton jB2 = new JButton("bbbbbbbbbbbb");
JButton jB3 = new JButton("cccccccccccc");
JButton jB4 = new JButton("ddddddddddddd");
JButton jB5 = new JButton("eeeeeeeeeeeee");
JButton jB6 = new JButton("eeeeeeeeeeeee");
JPanel jPanel = new JPanel();
JPanel jPanel2 = new JPanel();
JPanel jPanel3 = new JPanel();
JRadioButton b1 = new JRadioButton("Http");
JRadioButton b2 = new JRadioButton("Tcp");
ButtonGroup group = new ButtonGroup();
Object[] data = new Object[7]; DefaultTableModel defaulttablemodel = new DefaultTableModel();
JTable jtable = new JTable(defaulttablemodel);
JScrollPane js = new JScrollPane(jtable);
public Frame1(){
// setIconImage(new ImageIcon("1.jpg").getImage());
getContentPane().setLayout(new FlowLayout());
for(int column = 0; column < 7; column++){
defaulttablemodel.addColumn("Column " + column);
}
for(int row = 0; row < 10; row++) {
for(int column = 0; column < 7; column++) {
data[column] = "Cell " + row + "," + column;
}
defaulttablemodel.addRow(data);
}
jtable.setAutoResizeMode(0);
jPanel2.add(js);
group.add(b1);
group.add(b2);
jPanel3.add(b1);
jPanel3.add(b2); this.getContentPane().add(jPanel);
this.getContentPane().add(jPanel2);
this.getContentPane().add(jPanel3);
jPanel2.setBorder(BorderFactory.createTitledBorder(
BorderFactory.createEtchedBorder(),"显示"));
jPanel3.setBorder(BorderFactory.createTitledBorder(
BorderFactory.createEtchedBorder(),"设定"));
jPanel.add(jB1);
jPanel.add(jB2);
jPanel.add(jB3);
jPanel.add(jB4);
jPanel.add(jB5);
setSize(800,600);
// pack();
show();
}
}
public class MyFrame{
public static void main(String args[]){
new Frame1();
}
}
反正怎不能用程序来判断数据的行数然后再设置JTable的大小吧。
JTable jtable = new JTable(defaulttablemodel);
JScrollPane js = new JScrollPane(jtable);
没有问题!
table1.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
scrollpane1=new JScrollPane(table1,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
这样不行阿
js.setPreferredSize(new Dimension(500,160));
好用
你加上这句话
jtable.setAutoResizeMode(0);
你的问题就解决了。