JTable动态刷新数据
http://www.cnblogs.com/fnlingnzb-learner/p/6025408.html
注意下面几个方法的应用场景,不限于JTable,其他swing组件一样
————————————————————————————————————————————————————————————————————————————————
JTable动态刷新数据
最近在做一个纯java有关的小软件,因为需要做前端,所以我用到了swing。swing里面涵盖的细节真的是太多了,稍一不留神,你的软件就面临易崩溃或者界面极度丑陋的状况。不多说了,谈谈这次的主题JTable吧。
由于我的软件需要定时刷新界面,所以需要对JTable进行实时更新,但又不仅仅是单纯的添加数据,所以造成了很多麻烦。
其实最简单的,你用 Vector 做 table 的模型的话,只要改变 Vector 中的数据,updateUI,表格就刷新了。其中,第一个是个 Vector 的 Vector,是 data,就是说先把一行的 data 放在一个 Vector 里,然后把这些行Vector 放到一个总的 Vector 里,而第二个是 Vector是title。
直接上代码吧:

1 private void InitTable() { //初始化table
2 InitColumnName();
3 InitRowData();
4 tableModel = new DefaultTableModel(rowData, columnName);
5 table = new JTable(tableModel);
6 TableColumn firstColumn = table.getColumnModel().getColumn(0);
7 firstColumn.setMaxWidth(150);
8 firstColumn.setMinWidth(150);
9 TableColumn secondColumn = table.getColumnModel().getColumn(1);
10 secondColumn.setMaxWidth(80);
11 secondColumn.setMinWidth(80);
12 TableColumn thirdColumn = table.getColumnModel().getColumn(2);
13 thirdColumn.setMaxWidth(60);
14 thirdColumn.setMinWidth(60);
15 TableColumn fourthColumn = table.getColumnModel().getColumn(3);
16 fourthColumn.setMaxWidth(120);
17 fourthColumn.setMinWidth(120);
18 TableColumn fifthColumn = table.getColumnModel().getColumn(4);
19 fifthColumn.setMaxWidth(150);
20 fifthColumn.setMinWidth(150);
21 TableColumn sixthColumn = table.getColumnModel().getColumn(5);
22 sixthColumn.setMaxWidth(120);
23 sixthColumn.setMinWidth(120);
24 }

定时刷新:

1 tableModel.getDataVector().clear();
2 InitRowData();
3 //table.validate(); 频繁刷新造成空指针异常
4 //table.updateUI();
5 scrollPane.validate();
6 //scrollPane.updateUI();

附录:
public void validate() 验证此容器及其所有子组件。
使用 validate 方法会使容器再次布置其子组件。已经布置容器后,在修改此容器的子组件的时候(在容器中添加或移除组件,或者更改与布局相关的信息),应该调用上述方法。
public void repaint() 重绘此组件。 如果此组件是轻量组件,则此方法会尽快调用此组件的paint方法。否则此方法会尽快调用此组件的update方法。 public void updateUI
UIManager 发出的关于 L&F 已经更改的通知。用 UIManager 的最新版本替换当前的 UI 对象。覆盖: 类 JComponent 中的 updateUI另请参见:
JTable动态刷新数据的更多相关文章
- echarts动态刷新数据
在这次的项目中图表显示的部分比较多,这边给分享下用到的图表的数据刷新 饼图最后的效果 先看下 前端部分 <div div style="height: 40%; width: 17.5 ...
- jtable更新数据
static JTable table; public void refrushTableData() { String[] columnNames = { " }; String[][] ...
- swing JTable 更新数据
rowData 是将要更新的表格内数据,coloumnName是将要更新的表头数据. table是原本的table对象,更新数据的时候要用 DefaultTableModel 类~ /*更新table ...
- Highcharts 多个Y轴动态刷新数据
效果图: js代码: $(function() { $(document).ready(function() { Highcharts.setOptions({ global: { useUTC: f ...
- JavaSE GUI显示列表 JTable的刷新 重新加载新的数据
JTable在显示所有数据之后,假如需要搜索某个名字,则会获取新的列表数据. 假设datas是JTable的数据,定义为: private Vector<Vector> datas = n ...
- javascript之数据推送
我们使用ajax与后台服务进行交互,常常是通过触发事件来单次交互,但对于有些web应用来说,需要前台与后台保持长连接,前端不定时地接收后台推送的数据信息, 例如:股票行情分析.聊天室和网页在线游戏等. ...
- 【Java】JTable组件的构造函数和设置列宽
使用JTable组件 类层次结构图: java.lang.Object --java.awt.Component --java.awt.Container --javax.swing.JCompone ...
- Swing之JTable的详细介绍(转)
表格(Table)的使用与介绍8-1:使用JTable组件:类层次结构图:java.lang.Object--java.awt.Component--java.awt.Container--javax ...
- echarts异步数据加载(在下拉框选择事件中异步更新数据)
接触echarts 大半年了,从不会到熟练也做过不少的图表,隔了一段时间没使用这玩意,好多东西真心容易忘了.在接触echarts这期间也没有总结什么东西,今天我就来总结一下如何在echart中异步加载 ...
随机推荐
- Django content-type 使用
1.models class PricePolicy(models.Model): """价格与有课程效期表""" content_type ...
- c++中static变量有什么用
主要有两点用途. 1.让一个变量长期有效,而不管其是在什么地方被申明.比如: int fun1() { static int s_value = 0; .... } 那么fun1不管在什么地方被调用, ...
- Prime Path[POJ3126] [SPFA/BFS]
描述 孤单的zydsg又一次孤单的度过了520,不过下一次不会再这样了.zydsg要做些改变,他想去和素数小姐姐约会. 所有的路口都被标号为了一个4位素数,zydsg现在的位置和素数小姐姐的家也是这样 ...
- mysql5.7.20完全卸载 win10
试了好多方法,搞了很久终于完全卸载干净,重装完成了! 1.关闭服务 以管理员身份运行cmd,执行以下命令: C:\WINDOWS\system32>net stop mysql MySQL 服务 ...
- js三种经典排序:冒泡排序、插入排序、快速排序
冒泡排序: function bubbleSort(arr){ for(var r=1;r<arr.length-1;r++){ for(var i=0;i<arr.length-r;i+ ...
- Ubuntu1404安装eclipse(目的是为了运行python,当然java更可以)
原创文章,不得转载 我是彩印网(www.caiyin.com) 的技术开发人员,在这里首先请允许我做下业务的介绍 彩印网是由北京出彩电子商务有限公司运营的专业印刷电商,集线上购物.支付.设计.制作.配 ...
- 180400之pycharm快捷方式汇总
1.Pycharm中快捷键大全,遇到一个更新一个 撤销与反撤销:Ctrl + z,Ctrl + Shift + z 缩进.不缩进:Tab.Shift + tab 运行:Shift + F10 批量注释 ...
- 了解CSS/CSS3原生变量var (转)
一.变量是个好东西 在任何语言中,变量的有一点作用都是一样的,那就是可以降低维护成本,附带还有更高性能,文件更高压缩率的好处. 随着CSS预编译工具Sass/Less/Stylus的关注和逐渐流行,C ...
- fzu1062 洗牌问题(思路模拟)
http://acm.fzu.edu.cn/problem.php?pid=1062 一开始想暴力找规律,没看出来..然后开始推,推测根据1再次返回第一个的时候顺序也复原,然后想以此推导出一个规律公式 ...
- 05、transformation操作开发实战
1.map:将集合中每个元素乘以2 2.filter:过滤出集合中的偶数 3.flatMap:将行拆分为单词 4.groupByKey:将每个班级的成绩进行分组 5.reduceByKey:统计每个班 ...