问题标签 [abstracttablemodel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
684 浏览

java - JTable#repaint() 未按预期运行

此应用程序从文本文件中提取数据并将其插入到JTable. 如果Observer文件发生更改并重新加载数据,则每 300 毫秒检查一次。我的班上有setChanged()and 。notifyObservers()Observer

当数据被添加到表中时,agetRowCount()报告该行已添加,通知器正在运行。几乎所有东西都在工作,除了repaint(). 我已经尝试过revalidate()fireTableDataChanged()但都无济于事。我将不胜感激这方面的一些帮助。整个过程不报告编译错误。

表模型

观察者类

主班

添加录制按钮

0 投票
1 回答
538 浏览

java - 扩展 AbstractTableModel 并动态填充 jTable

基本上,我正在研究客户端服务器架构,因此某些客户端可以在外部修改对象。

我有一家银行:

我的服务器:

客户可以通过调用 addOperation() 在 Bank operationList 中添加一个 Operation。

问题是:JTable 如何检测并刷新显示?

因为客户端没有使用 TableModel 方法来添加操作。他们无权访问此类。最重要的是,我不知道在 TableModel 构造函数中给出银行的整个 operationList 是否是一个好主意......

0 投票
1 回答
175 浏览

java - 如何使用 GUI 组织服务器架构

我正在开发一个银行客户端-服务器架构。

我想知道组织服务器端最方便的方法是什么。银行是否需要在同一个文件中作为服务器和图形用户界面?

因为目前我有实例化银行的服务器 GUI。这家银行有一个客户列表,每个客户都有几个账户。

  1. 我的第一个问题涉及服务器 GUI 中的 JTable。实际上,银行存储了一个 ArrayList,其中包含客户先前完成的每个操作。我写了一个 AbstractTableModel 的实现,它也存储了一个 ArrayList。问题是服务器为 JTable 实例化了一个 Bank 和一个 TableModel。因此,当银行在其 ArrayList 中添加一个操作时,TableModel 并没有意识到这一点。如何在不将 TableModel 提供给 Bank 的情况下将这两者联系起来?

  2. 第二个问题涉及与客户端的连接。当登录名/密码正确时,服务器将会话接口传递给客户端。会话包含客户可以执行的银行操作。如果 SessionImpl 封装了 Bank 实例,是否存在安全问题?因为实际上 Session 方法调用了 Bank 方法。会话是客户端和服务器之间唯一的远程对象,但封装银行给我的印象是客户端可以直接访问银行。

0 投票
2 回答
1196 浏览

java - Java Swing JTable:由于表模型的使用/创建不正确,无法访问表中的值

我刚刚开始使用 Java Swing 进行编程。我对众多 Java Swing 类中的每一个都不是很熟悉,并且在创建表时遇到了绊脚石。

我试图弄清楚如何将表添加到我正在制作的 Java Swing 程序中。我查看了 docs.oracle.com 试图弄清楚,但是当我尝试访问表的值时出现错误。我将包含我的代码以帮助显示我当前正在尝试做什么以及错误在哪里。

这是我制作表格和表格模型的代码(我认为问题在于我的表格模型无法正常工作):

显示表格并编辑每个单元格的空白值后,单击提交单元格的提交按钮。但是,遇到以下错误:

尝试提交时遇到如下错误:

我提供了我的代码来举例说明我当前遇到的问题以及我目前尝试过的问题。为了概括我的问题,我想知道如何正确编写表模型类,以便我可以访问表中每个单元格的值。任何帮助都会有所帮助。万分感谢!

0 投票
2 回答
3032 浏览

java - 将文本文件中的数据显示到 JTable

我的文本文件包含以下数据:sample.txt
MEMHEAD 1 1 NA SetString srcCode

MEMHEAD 1 2 NA SetString memIdnum

LGLNAME 1 5 NA SetString onmfirst

我创建的MyClassModel类扩展AbstractTableModel为:

通过这种方式,我从文件中检索数据。现在,当我JTable使用table.setModel(MyTableModel). 我得到一个NullPointerException.

继续:

文本文件数据显示在 JTable 中,但 JTable 还包含一些带有一些垃圾数据的额外行,当我按下这些行时 java.lang.ArrayIndexOutOfBoundsException: 180 >= 180,会引发此异常。但是,我发现线路有问题

但不知道是什么问题。请帮忙。

0 投票
3 回答
185 浏览

java - TableModel - 在 gui 中不显示任何内容?

我正在从 DAO 获取数据到 GUI 级别。

当我想加载表时,我得到一个空表,只有单击的 db 符号的正确行数:

在此处输入图像描述

要加载我使用的元素:

为什么表是空的?

更新

表型号代码:

0 投票
2 回答
9619 浏览

java - 使用 AbstractTableModel 从 JTable 中删除行

我想使用按钮删除选定JTableAbstractTableModel行。

下面的代码适用于 DefaultTableModel:

但它不适用于AbstractTablemodel.

我的代码有点乱,所以这里是来自 oracle 页面的java 示例,可以使用:

谢谢!

0 投票
2 回答
629 浏览

java - 只允许程序编辑 JTable,但允许用户从中复制数据

不知道如何写标题而不使它成为一个段落。

基本上我的JTable程序中有一个不能让用户编辑的内容。但是程序必须能够自己编辑它。此外,必须允许用户从表格中的单元格中实际选择和复制文本,而不是对其进行编辑。

我怎样才能做到这一点?最好是通用解决方案,以便它可以应用于我的程序中具有不同布局等的多个表。

0 投票
1 回答
907 浏览

java - 在保留泛型的同时创建不同的 JTable

我有一个使用ModelItem.

但是现在我需要创建一个带有一些操作按钮(添加、删除、编辑)的视图,其中 JTable 在中心显示特定项目(A、B、C)。这是我的第一个问题,因为每个特定项目的一个字段都有一个列,所以我需要为每个项目创建一个不同的表。

一个解决方案可能是为每种类型的项目设置一个带有一个表格的卡片布局,但它带来了一个新问题,我的视图如何确定模型中有多少类型的项目而不使用instanceof()

此外,在此之后我还会遇到其他问题,如果我的视图中有 x jtable,我的视图将如何获得该表的模型?我可以为每个项目实现一个这样的接口:

但我只能给这个函数一个列表,那么每个项目如何只用它的项目类型填充数据数组?

PS:如果我进一步反思,我有一个额外的问题,我想知道我的操作按钮的侦听器如何简单地知道当前正在修改哪个 JTable,我是否应该将侦听器放在视图中以方便访问卡片布局?

如果需要改进我的问题,请提出要求!不确定这个问题目前是否清楚。

编辑:添加 SSCCE,这是我的目标,但它目前不使用我的程序项目,也没有实现 TableModel/TableModelListener。

0 投票
2 回答
376 浏览

java - Java - TableModelListeners 和 DataModelEvents

我应该什么时候创建自己的 TableModelListeners 和 DataModelEvents?

我知道 a 和 的区别和DefaultTableModel用法 。AbstractTableModelTableModel

我在许多在线 Java 示例中看到,在创建扩展 DefaultTableModel 和 AbstractTableModel 类的类(自定义模型)时,显式创建了 TableModelListeners 和 DataModelEvents。

这是我的理解:

  1. 如果我正在扩展一个,DefaultTableModel那么这个模型已经知道如何创建 DataModelEvents 和 TableModelListeners(这样我就不必添加它们)监听/观察这些事件并且还知道通知 TableModelListeners。

  2. 如果我正在扩展 AbstractTableModel,那么这个模型已经知道如何创建 DataModelEvents 和 TableModelListeners(这样我就不必添加它们)来监听/观察这些事件。但我必须显式调用 firetablechanged() 或类似方法来通知 TableModelListeners 事件。

  3. 如果我正在实现一个 TableModel,那么这个模型已经知道如何创建 DataModelEvents,但没有任何 TableModelListeners(所以我必须添加它们)来监听/观察这些事件。而且我还必须显式调用 firetablechanged() 或类似方法来通知 TableModelListeners 事件。