***关于DefaultTableModel的小问题--各位高手,欢迎进来看看--很容易拿分的哦!!!

liuyan7903 2003-10-15 11:29:23
小弟想要实现这样的功能,就是在一个table里面,根据传入不同的iClassid值,动态显示不同的数据;小弟的代码如下:
public class BDIctTableModel extends DefaultTableModel {
public int iClassid=0;
SessionBDictHome sessionHome = null;
SessionBDict session=null;
private Vector vColName = new Vector(10,10);
public Vector vData = new Vector(80,10) ;
public Vector vAllData=new Vector(100,10);
public Vector vInterid =new Vector(10,10) ;

public BDIctTableModel(int iClassid) {
//在构造函数里面传入iClassid值
** this.iClassid =iClassid;
initColName();
initData();
super.setDataVector(this.vData,vColName) ;
}

public void initColName(){
vColName.add("编号") ;
vColName.add("名称") ;
vColName.add("助记码") ;
}

public void initData(){
this.vAllData =getAllData();
this.vData = getData() ;
this.vInterid = getInterid();
}

public Vector getInterid(){
Vector tmpTable = new Vector(100,10);
Vector tmpInterid = new Vector(10,10);
tmpTable = this.vAllData ;
for(int i = 0;i<tmpTable.size() ;i++){
Vector tmpRow = new Vector(50,10);
tmpRow =(Vector) tmpTable.elementAt(i) ;
tmpInterid.add(tmpRow.elementAt(0) ) ;
}
return tmpInterid;
}

public Vector getData(){
Vector tmpAllData =new Vector(100,10) ;
Vector tmpData=new Vector(100,10);

tmpAllData=this.vAllData ;
for(int i=0;i<tmpAllData.size() ;i++){
Vector tmpLine =new Vector(50,10);
tmpLine=(Vector)tmpAllData.elementAt(i) ;
for(int j=1;j<tmpLine.size() ;j++){
tmpData.add(tmpLine.elementAt(j) ) ;
}
}
return tmpData;
}

public Vector getAllData(){
Vector tmpVector =new Vector(100,10) ;
try{
SessionBDictHome theHome =getHome();
SessionBDict theSession=theHome.create() ;
//根据不同的iClassid值,从数据库里面取出不同的记录
*** tmpVector = theSession.loadDataByiClassid(this.iClassid) ;

}catch(Exception e){
e.printStackTrace() ;
}
return tmpVector;
}
…………………………………………
…………………………………………

不知何故就是显示不出来数据,小弟现在想要请教各位大侠:
1。这个继承于的DefaultTableModel的tableModel,能否根据不同的iClassid值,为jTable动态封装不同的数据???
2.如果上面的方法不可行,欢迎大家提出建议和修改意见

分不够可以加的,谢谢!
...全文
101 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuyan7903 2003-10-16
  • 打赏
  • 举报
回复
没有人知道吗?
liuyan7903 2003-10-16
  • 打赏
  • 举报
回复
加分拉,加分了!!!!!!!!!
whohu 2003-10-15
  • 打赏
  • 举报
回复
偶也不是很清楚呀,帮你顶把
whohu 2003-10-15
  • 打赏
  • 举报
回复
偶也不是很清楚呀,帮你顶把
java 通讯录 可以用来做课程设计 代码 import java.awt.*; import javax.swing.*; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableColumn; import java.awt.event.*; import java.sql.*; import java.util.Vector; import java.sql.ResultSet; //******************************定义主窗口******************************** class Interface extends JFrame { JLabel txl=new JLabel("通讯录记录如下:"); JButton bc=new JButton("保存"); JButton sx=new JButton("刷新"); JButton tc=new JButton("退出"); JButton tj=new JButton("添加"); JButton sc=new JButton("删除"); JButton cz=new JButton("查找"); JMenuBar bar=new JMenuBar(); JMenu wj=new JMenu("文件"); JMenu bj=new JMenu("编辑"); JMenu bz=new JMenu("帮助"); JMenuItem barbc = new JMenuItem("保存"); JMenuItem bartc = new JMenuItem("退出"); JMenuItem bartj = new JMenuItem("添加"); JMenuItem barsy = new JMenuItem("如何使用?"); JMenuItem bargy = new JMenuItem("关于"); JMenuItem barsc = new JMenuItem("删除"); JMenuItem barcz = new JMenuItem("查找"); JMenuItem barlj = new JMenuItem("测试与数据库连接"); JMenu barpx = new JMenu("排序"); JMenuItem barpxid = new JMenuItem("按序号排序"); JMenuItem barpxxm = new JMenuItem("按姓名排序"); TableColumn column=new TableColumn(); static Object PersonInfo[][]={}; static String head[] = {"ID","姓名","性别","电话","QQ","家庭住址"}; static DefaultTableModel model = new DefaultTableModel(PersonInfo,head); static JTable table=new JTable(model); //****************************初始化主窗口******************************* public Interface() { setLayout(null); wj.add(barbc); wj.addSeparator(); wj.add(barlj); wj.addSeparator(); wj.add(barcz); wj.addSeparator(); wj.add(bartc); bj.add(bartj); bj.add(barsc); bj.addSeparator(); bj.add(barpx); barpx.add(barpxid); barpx.add(barpxxm); bz.add(barsy); bz.addSeparator(); bz.add(bargy); bar.add(wj); bar.add(bj); bar.add(bz); this.setJMenuBar(bar); txl.setForeground(Color.BLUE); this.add(txl); txl.setFont(new Font("华文彩云",Font.BOLD,30)); txl.setBounds(new Rectangle(180,10,350,40)); //**************************添加网格****************************** table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); table.setGridColor(Color.CYAN); table.setSelectionBackground(Color.YELLOW); table.setForeground(Color.RED); JScrollPane jsp=new JScrollPane(table); jsp.setBounds(new Rectangle(45,60,500,405)); this.add(jsp);

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧