小编典典

我在stackoverflow上进行了搜索,有几个人说要使用该方法。

不,您不应fireTableXxx在TableModel自身的上下文之外调用任何方法,否则人们会认为这完全是错误的,将来会给您带来麻烦。从代码的外观来看,没有任何变化。如果您已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);

}

});

我也尝试过使用更新后的ArrayList设置新模型,它可以工作,但没有保持我先前设置的表行宽度。

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

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

有没有更新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();

2020-11-26

jtabel 遍历_单击按钮更新JTable相关推荐

  1. jtabel 遍历_使用抽象表模型获取JTable中选定的行

    在下面的示例中,TableModel更新Set checked在执行setValueAt()..相邻模型JList侦听表的模型并显示当前选定的行号.该示例假定所选行数与行数相比较小.注意使用TreeS ...

  2. java jtable刷新_java-单击按钮更新JTable

    I have searched on stackoverflow and a couple of people have said to use that method. 不,您不应在TableMod ...

  3. python 对话框的创建及调用_单击按钮创建新对话框

    我正在创建一个最初显示登录和注册按钮的应用程序. 点击登录,我想显示另一个屏幕(或对话框),这将允许用户输入用户名和密码.在 我想在第二个对话出现时隐藏第一个对话,但无法做到这一点 我们可以通过连接到 ...

  4. python点击按钮改变图片_单击tkinter按钮时更改图片

    点击了python和一些按钮后,会产生一些颜色变化的按钮 当单击按钮时,是否可以更改按钮使用的.gif?我希望它在GPIO引脚关闭时显示ON,在GPIO引脚打开时显示off.在 目前我有:#BCM17 ...

  5. python 获取文本框内容_如何在python中单击按钮时获取文本框中的文本?

    我可以让您的代码在单击按钮时显示文本框中的文本: 这就是你要达到的目的吗?您没有提到是否出现错误,但我确实发现您的代码存在两个问题:Button.py脚本中似乎存在一些缩进问题.在 对于changeT ...

  6. Android Studio 单击按钮放大字体

    借鉴于文章,稍加整理.单击按钮放大显示的文字(Android studio)_ const 的博客-CSDN博客_android studio点击按钮显示文本​​​​​​ 在仿真器上显示的字体虽清晰但 ...

  7. 单击按钮使用jQuery复制到剪贴板

    本文翻译自:Click button copy to clipboard using jQuery How do I copy the text inside a div to the clipboa ...

  8. 【恋上数据结构与算法 第二季】【04】图-基础实现_遍历_拓扑排序

    持续学习&持续更新中- 学习态度:脚踏实地 [恋上数据结构与算法 第二季][04]图-基础实现_遍历_拓扑排序 图的实现方案 邻接矩阵 邻接表 图的基础接口 顶点.边的定义 图的基础实现 图的 ...

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

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

最新文章

  1. 【DeepLearning】Exercise:Sparse Autoencoder
  2. 程序员为这支笔掰头10个月,隔壁小学生都馋哭了
  3. Run-Time Check Failure #2 - S
  4. selenium3 浏览器驱动下载及验证
  5. music算法原理_大话FMCW雷达之区域检测原理
  6. 西北师范大学地理与环境科学学院考研真题汇总(高等数学)持续更新。。。
  7. Http中的同步请求和异步请求
  8. 云漫圈 | 学Python还是Java, 8张漫画带你全面分析
  9. C语言最重要的知识点(电子文档)
  10. PostgreSQL学习总结(3)—— PostgreSQL 数据类型
  11. 57. TCP relay功能描述及Python实现
  12. Bulk Insert命令详细
  13. Unity3D快速入门超详细视频教程(全套免费送)
  14. ts 报错:‘new‘ expression, whose target lacks a construct signature, implicitly has an ‘any‘ type.
  15. gym 101908C Pizza Cutter (逆序对)
  16. PC版微信加密图片解密思路与代码实现_Python
  17. 求n阶矩阵的逆矩阵(C语言实现)
  18. 数据库技术与应用 学习笔记1
  19. (重点)可导、连续、可微+(浅谈)可积 的关系以及例题深化理解
  20. 百度网盘虚假下载(文件已修改或删除)解决方法

热门文章

  1. 牛客 [编程题] 回文解码
  2. CSS,给我们不一样的体验
  3. 性能监控工具 NewRelic 简介
  4. linux python fcntl模块 程序加锁 简介
  5. 代码审查工具 sonarqube 简介
  6. 关于node js和 npm 版本不匹配的情况
  7. linux 自动化交互套件 expect 介绍 shell非交互
  8. python3 异常嵌套
  9. linux 用户身份与进程权限
  10. python3 not 用法