Java 如何刷新JTable中的数据并显示更新的列表
我是java的新手,正在尝试刷新jTable。我想做的是显示Jtable中的数据列表,现在我确实有一个刷新图标,如果单击该图标,它将刷新表并更新其中的记录。 我尝试了很多事情,但都没有成功。我所尝试的是: //从以下位置获取参考帮助: 尝试1:Java 如何刷新JTable中的数据并显示更新的列表,java,swing,jtable,Java,Swing,Jtable,我是java的新手,正在尝试刷新jTable。我想做的是显示Jtable中的数据列表,现在我确实有一个刷新图标,如果单击该图标,它将刷新表并更新其中的记录。 我尝试了很多事情,但都没有成功。我所尝试的是: //从以下位置获取参考帮助: 尝试1: private void remakeData(CollectionType< Objects > name) { model.setRowCount(0); for (CollectionType Objects : nam
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 });
}}
尝试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上搜索时,我只找到了我已经尝试过的东西
请帮我完成这件事
Thankx
DefaultTableModel
将通知其侦听器一个更改,并且任何侦听表都将更新自身作为响应。如果你的第一次尝试没有成功,问题就出在别处。特别是,您不需要自己使任何表模型事件失效、重新验证或触发。在此完成过程中,添加行按钮调用addRow()
,将请求转发到TableModel
private DefaultTableModel dtm = new DefaultTableModel(…) {…}
private void addRow() {
dtm.addRow(new Object[]{
…
});
}
考虑提供一份能证明您的问题的报告。这将减少混乱和更好的响应您知道validate()吗@Nabin不知道much@Nabin我怀疑这与
validate()
有多大关系,如果有关系,我建议使用revalidate()
,它可以将多个调用合并到一个调用中。
private DefaultTableModel dtm = new DefaultTableModel(…) {…}
private void addRow() {
dtm.addRow(new Object[]{
…
});
}