I have searched on stackoverflow and a couple of people have said to use that method.

不,您不应在TableModel本身的上下文之外调用任何fireTableXxx方法,否则人们会认为这完全是错误的,将来会给您带来麻烦.从代码的外观来看,什么都没有改变.如果您已根据上一个问题中提供的答案更新了TableModel,则该模型中的数据与外部源没有任何关系.您需要从外部源手动重新加载数据,创建新的TableModel并将其应用于表

例如…

JButton btnRefreshAllPlayers = new JButton("Refresh");

btnRefreshAllPlayers.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

TableModel model = new PlayerTableModel(FileHandler.getCompletedPlayers());

table.setModel(model);

}

});

I have also tried setting a new model with the updated ArrayList and it worked but did not keep the table row widths I previously set.

对于表来说这是合理的事情,因为它不知道新模型是否具有与旧模型相同的属性/列,因此将其重置.

您可以遍历ColumnModel,在应用模型并重新应用宽度之前将列的宽度存储在List或Map中

Is there a proper way to update the JTable?

您可以为TableModel提供刷新方法,该方法可以加载数据本身并触发tableDataChanged事件

public class PlayerTableModel extends AbstractTableModel {

private final List summaries;

public PlayerTableModel(List summaries) {

this.summaries = new ArrayList(summaries);

}

// Other TabelModel methods...

public void refresh() {

summaries = new ArrayList<>(FileHandler.getCompletedPlayers());

fireTableDataChanged();

}

}

然后,您需要在ActionListener中调用此方法…

PlayerTableModel model = (PlayerTableModel)table.getMode();

model.refresh();

java jtable刷新_java-单击按钮更新JTable相关推荐

  1. jtabel 遍历_单击按钮更新JTable

    小编典典 我在stackoverflow上进行了搜索,有几个人说要使用该方法. 不,您不应fireTableXxx在TableModel自身的上下文之外调用任何方法,否则人们会认为这完全是错误的,将来 ...

  2. java 点击改变_java 单击按钮改变背景颜色

    怎样实现单击按钮改变成相应颜色!importjava.awt.*;importjava.awt.event.*;publicclassButtonColorimplementsActionListen ...

  3. Java点击按钮加一行数据_java - 单击按钮java时如何从txt文件绘制下一行? - SO中文参考 - www.soinside.com...

    单击按钮java时如何从txt文件绘制下一行? 问题描述 投票:0回答:1 import javax.swing.*; import java.awt.*; import java.awt.event ...

  4. java web 刷新_Java Web项目的保存和刷新

    java web 刷新 如何配置计算机以保存并刷新Java Web项目? 当您向开发人员提出此问题时,答案以"哦,好吧--"开头,并以某种可行的方式继续描述. 每个人都有自己的方式 ...

  5. java view刷新_java – 如何调用onCreateView方法或刷新我的片段?

    我想在下面的代码中刷新或调用onCreateView. 我有一个上下文来删除一个Item,之后我想用新的Item刷新片段. 谢谢! public class ItemDetailFragmentBla ...

  6. java jtable用法_Java中JTable的用法

    Swing颇受欢迎的JTable类为显示大块数据提供了一种简单的机制.JTable有很多东西是用于数据的生成和编辑,其中的很多东西还可以自定义,从而更进一步增强其功能.本文会引导你一步步地进入JTab ...

  7. 2020 java swing jtable 合并_java学生管理系统(界面版)

    运行截图 ​ 项目说明: 本系统界面我个人就从简设计了,本来打算使用windowbuilder插件设计的,可想到使用windowbuilder插件之后导致代码冗余,会影响到代码可读性,可能对小白不友好 ...

  8. HTML点击页面按钮自动刷新页面,如何在Html单击按钮后单击刷新页面

    我正在用Java编写一个程序,用于在单击页面底部的下一个按钮后从一系列页面中删除源代码.我的代码是目前:如何在Html单击按钮后单击刷新页面 public class Htmlunitscraper ...

  9. java awt 按钮响应_Java AWT按钮

    java awt 按钮响应 The Button class is used to implement a GUI push button. It has a label and generates ...

最新文章

  1. PHP用oop写网站,收藏一个php的OOP开发使用小记
  2. python使用教程cmd啥意思-python中执行cmd的方式
  3. hibernate lazy加载
  4. git 代码推送流程_Git 101:一个让您开始推送代码的Git工作流程
  5. linux修改python默认版本
  6. python隐藏启动台_如何在Python中启动后台进程?
  7. php项目电影院售票管理系统,电影院售票管理系统
  8. c语言学习进阶-C语言程序实现生成指定区间指定个数随机数
  9. linux 反汇编 静态库,如何反汇编.lib静态库?
  10. Perl语言入门(05 文件)
  11. 工具 | Procexp工具使用及案例说明
  12. 职场的5个时间管理技巧
  13. Windows系统如何关闭防火墙保姆式教程,超详细
  14. 解决黑苹果和Windows双系统时,时钟不同步的问题
  15. UML图六种箭头含义
  16. idea debug源码
  17. C++实现 数字游戏之拼出最大数
  18. poj java 提交_POJ代码提交器 QNetworkAccessManager post get
  19. 考研机试真题--素数--北京航空航天大学
  20. Roadblock for Mac(Safari广告内容拦截软件)

热门文章

  1. URL模块之parse方法
  2. CSS 水平垂直居中
  3. vue/cli3 配置vux
  4. Windows环境下安装、卸载Apache
  5. java多线程系列13 设计模式 Future 模式
  6. Dotnet Core
  7. [团队项目3.0]Scrum团队成立
  8. 代码分享h5-sessionStorage,提示app下载代码块
  9. jquery全选,jquery全不选,jquery反选
  10. c#扩展方法奇思妙用性能篇一:扩展方法性能初测