Java中,JTable如何在在创建表时,只指定列名称和列对应的数据类型,而不用预先设置初始数据?
发布网友
发布时间:2022-04-24 04:00
我来回答
共1个回答
热心网友
时间:2023-10-26 12:33
首先,不知道你是用的什么模式开发,建议使用mvc模式;
我以学生管理系统为例:
创建JTable jt=new JTable(sm); 其中sm是public class StuModel extends AbstractTableModel的对象,此时在StuModel类中你要重写public int getRowCount(),public int getColumnCount() ,public Object getValueAt(int rowIndex, int columnIndex),public String getColumnName(int column)这四个方法(具体不懂再追问),主要是继续在这个类中创建一个查询方法即:
public boolean querystu(String sql,String date[])//有没有返回值都行
{
boolean b=true;
OpDatabase od=new OpDatabase();//这是专门操作数据库的类
try {
ResultSet rs=od.querybase(sql, date);//调用查询方法,返回rs结果集
while(rs.next())//取出rs结果集中的内容,如果没用结果则不进入,rowData.size()就为0;
{
Vector stu=new Vector();
stu.add(rs.getString(1));
stu.add(rs.getString(2));
stu.add(rs.getInt(3));
stu.add(rs.getString(4));
stu.add(rs.getString(5));
stu.add(rs.getString(6));
rowData.add(stu);//给行添加数据
}
} catch (Exception e) {
b=false;
e.printStackTrace();
}finally
{
od.close();//关闭资源
}
return b;
}
有不懂的再追问!
热心网友
时间:2023-10-26 12:33
首先,不知道你是用的什么模式开发,建议使用mvc模式;
我以学生管理系统为例:
创建JTable jt=new JTable(sm); 其中sm是public class StuModel extends AbstractTableModel的对象,此时在StuModel类中你要重写public int getRowCount(),public int getColumnCount() ,public Object getValueAt(int rowIndex, int columnIndex),public String getColumnName(int column)这四个方法(具体不懂再追问),主要是继续在这个类中创建一个查询方法即:
public boolean querystu(String sql,String date[])//有没有返回值都行
{
boolean b=true;
OpDatabase od=new OpDatabase();//这是专门操作数据库的类
try {
ResultSet rs=od.querybase(sql, date);//调用查询方法,返回rs结果集
while(rs.next())//取出rs结果集中的内容,如果没用结果则不进入,rowData.size()就为0;
{
Vector stu=new Vector();
stu.add(rs.getString(1));
stu.add(rs.getString(2));
stu.add(rs.getInt(3));
stu.add(rs.getString(4));
stu.add(rs.getString(5));
stu.add(rs.getString(6));
rowData.add(stu);//给行添加数据
}
} catch (Exception e) {
b=false;
e.printStackTrace();
}finally
{
od.close();//关闭资源
}
return b;
}
有不懂的再追问!
热心网友
时间:2023-10-26 12:33
首先,不知道你是用的什么模式开发,建议使用mvc模式;
我以学生管理系统为例:
创建JTable jt=new JTable(sm); 其中sm是public class StuModel extends AbstractTableModel的对象,此时在StuModel类中你要重写public int getRowCount(),public int getColumnCount() ,public Object getValueAt(int rowIndex, int columnIndex),public String getColumnName(int column)这四个方法(具体不懂再追问),主要是继续在这个类中创建一个查询方法即:
public boolean querystu(String sql,String date[])//有没有返回值都行
{
boolean b=true;
OpDatabase od=new OpDatabase();//这是专门操作数据库的类
try {
ResultSet rs=od.querybase(sql, date);//调用查询方法,返回rs结果集
while(rs.next())//取出rs结果集中的内容,如果没用结果则不进入,rowData.size()就为0;
{
Vector stu=new Vector();
stu.add(rs.getString(1));
stu.add(rs.getString(2));
stu.add(rs.getInt(3));
stu.add(rs.getString(4));
stu.add(rs.getString(5));
stu.add(rs.getString(6));
rowData.add(stu);//给行添加数据
}
} catch (Exception e) {
b=false;
e.printStackTrace();
}finally
{
od.close();//关闭资源
}
return b;
}
有不懂的再追问!
热心网友
时间:2023-10-26 12:33
首先,不知道你是用的什么模式开发,建议使用mvc模式;
我以学生管理系统为例:
创建JTable jt=new JTable(sm); 其中sm是public class StuModel extends AbstractTableModel的对象,此时在StuModel类中你要重写public int getRowCount(),public int getColumnCount() ,public Object getValueAt(int rowIndex, int columnIndex),public String getColumnName(int column)这四个方法(具体不懂再追问),主要是继续在这个类中创建一个查询方法即:
public boolean querystu(String sql,String date[])//有没有返回值都行
{
boolean b=true;
OpDatabase od=new OpDatabase();//这是专门操作数据库的类
try {
ResultSet rs=od.querybase(sql, date);//调用查询方法,返回rs结果集
while(rs.next())//取出rs结果集中的内容,如果没用结果则不进入,rowData.size()就为0;
{
Vector stu=new Vector();
stu.add(rs.getString(1));
stu.add(rs.getString(2));
stu.add(rs.getInt(3));
stu.add(rs.getString(4));
stu.add(rs.getString(5));
stu.add(rs.getString(6));
rowData.add(stu);//给行添加数据
}
} catch (Exception e) {
b=false;
e.printStackTrace();
}finally
{
od.close();//关闭资源
}
return b;
}
有不懂的再追问!