java 中 JTable 的 setModel 方法 有问题
JTABLE显示要连接到数据库表里面的内容(这个是重点)我在另一个容器上放置一个按钮。事件是每当按钮点击时产生一条查询语句,得到ResultSet,再通过继承Abstra...
J TABLE 显示 要连接到数据库 表里面的内容 ( 这个是重点)
我在另一个容器上放置一个按钮。事件是每当按钮点击时产生一条查询语句,得到ResultSet ,再通过继承AbstractTableModel一个类产生一个DefaultTableModel对象。然后调用setModel方法改变表的内容。 一定要按照下面的方法来写。 120 急用
public wda() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
table = new JTable();
table.setModel(new DefaultTableModel(
new Object[][] {
{null, null, null},
{null, null, null },
{null, null, null },
{null, null, null},
},
new String[] {
"姓名", "性别", "班级",
}
));
JScrollPane js=new JScrollPane(table);
js.setBounds(44, 136, 275, 95);
contentPane.add(js);
}
} 展开
我在另一个容器上放置一个按钮。事件是每当按钮点击时产生一条查询语句,得到ResultSet ,再通过继承AbstractTableModel一个类产生一个DefaultTableModel对象。然后调用setModel方法改变表的内容。 一定要按照下面的方法来写。 120 急用
public wda() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
table = new JTable();
table.setModel(new DefaultTableModel(
new Object[][] {
{null, null, null},
{null, null, null },
{null, null, null },
{null, null, null},
},
new String[] {
"姓名", "性别", "班级",
}
));
JScrollPane js=new JScrollPane(table);
js.setBounds(44, 136, 275, 95);
contentPane.add(js);
}
} 展开
4个回答
展开全部
public wda() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
table = new JTable();
fillTable(null);//初始化表格
JScrollPane js=new JScrollPane(table);
js.setBounds(44, 136, 275, 95);
contentPane.add(js);
}
}
================================================
//按钮动作事件处理
public void actionPerformed(ActionEvent ae){
//values 为测试数据
Object[][] values = new Object[][] {
{"AAA", '男', "1101"},
{"BBB", '女', "1101" },
{"CCC", '男', "1102" },
{"DDD", '女', "1103"}};
fillTable(values);
}
//封装成一个方法专门处理填充表格,从数据库中取得的数据使用二维数组来存放
public void fillTable(Object[][] value){
String[] head = new String[] {"姓名", "性别", "班级"};
table.setModel(new DefaultTableModel(value,head));
}
其他的自己完成吧。。。
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
table = new JTable();
fillTable(null);//初始化表格
JScrollPane js=new JScrollPane(table);
js.setBounds(44, 136, 275, 95);
contentPane.add(js);
}
}
================================================
//按钮动作事件处理
public void actionPerformed(ActionEvent ae){
//values 为测试数据
Object[][] values = new Object[][] {
{"AAA", '男', "1101"},
{"BBB", '女', "1101" },
{"CCC", '男', "1102" },
{"DDD", '女', "1103"}};
fillTable(values);
}
//封装成一个方法专门处理填充表格,从数据库中取得的数据使用二维数组来存放
public void fillTable(Object[][] value){
String[] head = new String[] {"姓名", "性别", "班级"};
table.setModel(new DefaultTableModel(value,head));
}
其他的自己完成吧。。。
追问
我要连接到数据库里面。。显示数据库的表内容。。麻烦你写出来。。我加分
追答
汗死,你这样的学习态度对你很不利,既然。。。那么我就耐心的写出来吧
select count(*) from ... where .... 查询结果总条数 设为num
Object[][] value = new Object[num][3] ;
int i=0;
while(rs.next){//结果集循环遍历
value [i][0] = rs.get....
value [i][1] = rs.get....
value [i][2] = rs.get....
i++;
}
这样就把查询的结果集放到了Object[][]中
后面的是就填充到表格了
展开全部
JTable 的 setModel使用没问题啊!?
因为你压根就没把窗体上jTable1给示例,table = new JTable();定义在哪里?
public wda(JTable table) {
....
这样写
然后在程序方法里:
new 类名().wda(this.jTable1);
问题估计是你根本就没用到JTable
因为你压根就没把窗体上jTable1给示例,table = new JTable();定义在哪里?
public wda(JTable table) {
....
这样写
然后在程序方法里:
new 类名().wda(this.jTable1);
问题估计是你根本就没用到JTable
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
setModel必须先定义一个DefaultTableModel 类型,之后直接将设置的类型给table赋值即可。
举例:
private DefaultTableModel Dtm=new Get_czb().get_czb();
JTable jTable1;
Timer timer = new Timer();
timer.schedule(new GetjTable(),1000,1000);
class GetjTable extends java.util.TimerTask{
@Override
public void run() {
System.out.println("kaishile");
Dtm=new Get_czb().get_czb();
jTable1.setModel(Dtm);
System.out.println(new JTable(Dtm));
}
举例:
private DefaultTableModel Dtm=new Get_czb().get_czb();
JTable jTable1;
Timer timer = new Timer();
timer.schedule(new GetjTable(),1000,1000);
class GetjTable extends java.util.TimerTask{
@Override
public void run() {
System.out.println("kaishile");
Dtm=new Get_czb().get_czb();
jTable1.setModel(Dtm);
System.out.println(new JTable(Dtm));
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很高兴你问题已经解决了。祝你越学越进步
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询