Java JTable 实现数据动态更新
来源:互联网 发布:yum安装apache 编辑:程序博客网 时间:2024/06/05 07:12
问题出现:
设计局域网之间文件传输的软件的时候,想要动态更新用户列表JTable中数据的内容;
实现思想:
每次用户列表数据更新的时候重新设置JTable中的数据,然后调用jtable.setUI()更新JTable控件的数据;
注意问题:
每次要先清空JTable中的数据,因为JTable中的数据就是userdata中的数据,而userdata的数据是通过add加进去的,所以之前的数据一直在;重新调用setUserTableData 的时候,是在JTable中添加数据;
添加到userdata中的row要每次重新new,row代表的行;new一个新的row代表新增加一行,没有重新new那么row。add("数据")中的数据是加在每行的行尾,而不是新行;
错误方式:
public void setUserTableData() {
//设置usertable数据;
//((DefaultTableModel)usertable.getModel()).getDataVector().clear();
//清空table的数据,重新写入;
Vector<String> row = new Vector<String>(); //错误
for(int i = 0;i < userList.size(); i++){
row.add(userList.get(i));
userdata.add(row);
}
Vector<String> title = new Vector<String>();
title.add("在线用户列表");
dtmView = new DefaultTableModel(userdata, title);
this.usertable.setModel(dtmView);
jth = this.usertable.getTableHeader();
}
正确方式:
public void setUserTableData() {
//设置usertable数据;
((DefaultTableModel)usertable.getModel()).getDataVector().clear();
//清空table的数据,重新写入;
Vector<String> row = null;
for(int i = 0;i < userList.size(); i++){
row = new Vector<String>();
row.add(userList.get(i));
userdata.add(row); // 添加数据到userdata中
}
Vector<String> title = new Vector<String>();
title.add("在线用户列表");
dtmView = new DefaultTableModel(userdata, title); //添加userdata到JTable中
this.usertable.setModel(dtmView);
jth = this.usertable.getTableHeader();
}
设计局域网之间文件传输的软件的时候,想要动态更新用户列表JTable中数据的内容;
实现思想:
每次用户列表数据更新的时候重新设置JTable中的数据,然后调用jtable.setUI()更新JTable控件的数据;
注意问题:
每次要先清空JTable中的数据,因为JTable中的数据就是userdata中的数据,而userdata的数据是通过add加进去的,所以之前的数据一直在;重新调用setUserTableData 的时候,是在JTable中添加数据;
添加到userdata中的row要每次重新new,row代表的行;new一个新的row代表新增加一行,没有重新new那么row。add("数据")中的数据是加在每行的行尾,而不是新行;
错误方式:
public void setUserTableData() {
//设置usertable数据;
//((DefaultTableModel)usertable.getModel()).getDataVector().clear();
//清空table的数据,重新写入;
Vector<String> row = new Vector<String>(); //错误
for(int i = 0;i < userList.size(); i++){
row.add(userList.get(i));
userdata.add(row);
}
Vector<String> title = new Vector<String>();
title.add("在线用户列表");
dtmView = new DefaultTableModel(userdata, title);
this.usertable.setModel(dtmView);
jth = this.usertable.getTableHeader();
}
正确方式:
public void setUserTableData() {
//设置usertable数据;
((DefaultTableModel)usertable.getModel()).getDataVector().clear();
//清空table的数据,重新写入;
Vector<String> row = null;
for(int i = 0;i < userList.size(); i++){
row = new Vector<String>();
row.add(userList.get(i));
userdata.add(row); // 添加数据到userdata中
}
Vector<String> title = new Vector<String>();
title.add("在线用户列表");
dtmView = new DefaultTableModel(userdata, title); //添加userdata到JTable中
this.usertable.setModel(dtmView);
jth = this.usertable.getTableHeader();
}
- Java JTable 实现数据动态更新
- JTable数据的动态更新
- JTable的使用示例,实现动态更新数据
- 实现JTable的动态更新
- <java><JTable>使用AbstractTableModel实现更新、删除、插入数据
- JTable更新数据
- JTable数据实时更新
- JTable表格实现动态更新的两种方式
- 使用Swing timer实现Jtable数据定时更新
- java JTable 动态拉取数据显示及自动刷新
- java JTable中动态添加、增加一行数据
- [jtable]用法(包括建立jtable和数据更新)
- DefaultTableModel及JTable更新数据的问题
- java JTable数据居中显示
- JAVA JTable 关于表格初始化设置、表格事件监听及数据更新问题
- Java Swing 在JTable里增加动态数据的下拉框
- java之swing中Jtable的动态一列中的每行的Jcombobox显示不一样的数据
- JTable实现行号-动态增删【转】
- Widgets基础篇附件3(ExampleAppWidgetConfigure.java)
- 【NFC】 NfcA/NfcB/NfcF/NfcV/IsoDep/Ndef/Mifare/Felica/Pboc/ISOxxxx 都是些什么鸟玩意?
- Widgets基础篇
- 每天工作4小时的程序员[转载 sunseraphic 编程技术
- Ext锁住列
- Java JTable 实现数据动态更新
- 如何用SQL语句复制表的结构、复制整个数据库?
- 嵌入式初学者在Linux环境下编译C语言的入门步骤
- 关于boost multi_index_container
- MySQL关于orderby主键的时间优化
- InputStreamReader和OutputStreamWriter的用法
- stretchableImageWithLeftCapWidth:topCapHeight:函数用法
- EL表达式、基本语法、隐式对象,禁用EL表达式,EL主要作用
- 正确理解ThreadLocal