Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何刷新JTable中的数据并显示更新的列表_Java_Swing_Jtable - Fatal编程技术网

Java 如何刷新JTable中的数据并显示更新的列表

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

我是java的新手,正在尝试刷新jTable。我想做的是显示Jtable中的数据列表,现在我确实有一个刷新图标,如果单击该图标,它将刷新表并更新其中的记录。 我尝试了很多事情,但都没有成功。我所尝试的是:

//从以下位置获取参考帮助:

尝试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 });
    }}
尝试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[]{
        …
    });

}