【发布时间】:2014-10-09 20:04:52
【问题描述】:
我是 java 新手,正在尝试刷新 jTable。我想要做的是显示 Jtable 中的数据列表,现在我确实有一个刷新图标,如果我点击它,它会刷新表格并更新其中的记录。 我尝试了很多东西,但没有成功。我所尝试的是:
// 拿了 ref.帮助:
尝试 1:
private void remakeData(CollectionType< Objects > name) {
model.setRowCount(0);
for (CollectionType Objects : name){
String n = Object.getName();
String e = Object.getEmail();
model.insertRow(model.getRowCount(),new Object[] { n,e });
}}
尝试 2:
tableModel.fireTableDataChanged();
尝试 3:
list_asset.invalidate(); // list_asset is my jTable
list_asset.repaint();
尝试 4:
((AbstractTableModel) list_asset.getModel()).fireTableCellUpdated(data.size(), 0);
尝试 5:
jPanel1.revalidate();
jPanel1.repaint();
tableModel.setRowCount(0);
tableModel = new DefaultTableModel(data,columnNames);
list_asset.setModel(tableModel);
我尝试了很多东西,在谷歌或 Stackoverflow 上搜索时,只找到了我已经尝试过的东西。
请帮助我完成这件事。
谢谢
【问题讨论】:
-
考虑提供一个runnable example 来证明您的问题。这将导致更少的混乱和更好的响应
-
你知道 validate()
-
@Nabin 我不太了解
-
@Nabin 我怀疑这与
validate()有很大关系,如果有的话,我宁愿建议使用revalidate(),它能够将多个调用合并为一个调用。