关于javaswingtable的数据动态更新
⼀直⽤web写程序,最近有同学交我帮忙写个java软件,写前端时⽤了swing,发现swing⾥⾯的⼩细节⾮常多,⽐如列表,表格的动态更新什么的,细节很重要,⼀个不⼩⼼整个界⾯都崩溃,显⽰不出来。
由于我写的软件需要定时刷新界⾯,所以需要对JTable进⾏实时更新,对于动态更新其实最简单的,就是⽤ Vector 做 table 的模型,只要改变 Vector 中的数据,updateUI,表格就刷新了。其中,第⼀个是个 Vector 的 Vector,是 data,就是说先把⼀⾏的 data 放在⼀个Vector ⾥,然后把这些⾏Vector 放到⼀个总的 Vector ⾥,⽽第⼆个是 Vector是title。
以下为简单的代码:
Vector<String> columnNames = new Vector<String>(); //设置列名javaswing酷炫界面
columnNames.add("活动事项");
columnNames.add("⽇期");
columnNames.add("资⾦流动");
columnNames.add("资⾦流动说明");
columnNames.add("参与⼈员");
rowData = new Vector<String>();
Vector hang = new Vector();//设置每⼀⾏的值
hang.add("data"]);
hang.add("data[1"]);
hang.add("data[2]");
hang.add("data[3]");
hang.add("data[4]");
rowData.add(hang);//加⼊rowData中
defaultTableModel = new DefaultTableModel(rowData, columnNames);
table = new JTable(defaultTableModel);
接下来我们要动态加⼊⼀条数据,代码如下:
rowData = ........⽅法如上,加⼊新的数据。
defaultTableModel.setDataVector(rowData, columnNames);
table.updateUI();
这样就能动态的往表格之中添加⼊⼀条新的数据,并且显⽰。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论