问题标签 [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 回答
2320 浏览

java - 编辑 JTable 行

JTable用来显示用户信息。我添加了一个编辑按钮,当用户选择一行并单击该按钮时,所选行必须编辑并重写到文件。

应该怎么做?

二等:

0 投票
2 回答
505 浏览

java - 通过jtable编辑用户信息

我有一个 jtable,它显示一个包含自己的文本文件。文本文件中的每一行都是一个用户记录。我添加了一个编辑按钮来编辑表格上的每个选定行。我使用此代码,但我不明白如何执行此操作:

我添加了这个getSelectedMember(int row)方法来做到这一点,但是不正确!

UserInformation班级:

对不起,长代码。

0 投票
1 回答
163 浏览

java - 为什么构造函数在下面的代码中不起作用?

在这里,我想使用构造函数动态分配表中的行数。datamodel 是类,datamodel(int count) 方法分配行数。

这是一个抽象表模型,我想将行数传递给数据模型。

0 投票
1 回答
2011 浏览

java - 我正在向我的 JTable(实现 AbstractTableModel)添加一个空行。如何实时更新我的​​模型?

好的,所以我认为标题就是我要在这里问的全部内容。

我的AbstractTableModel工作正常,当我想添加一个空行时,我使用以下代码来执行此操作:

现在,由于我显示的是一个空行,我希望用户编辑它,并且我假设用户会。现在,如何确保在用户进行更改时将数据保存在我的数组中?或者,如果这不可能,还有什么更好的选择?

好的,所以我应该解释一下我想要做什么:

在此处输入图像描述

我正在从文件中加载内容,并显示为表格。现在,用户可以在单击Add Row按钮时向表中添加新行。这将为每次点击添加 1 个空行。(在上图中是按下按钮两次的实例。

现在,我希望用户可以编辑单元格,然后可能会删除一些行(可能),但是在单击Save Database按钮时,表中的更新数据是存储。

0 投票
2 回答
2007 浏览

java - 根据模型值隐藏 JTable 中的单个单元格

我有一个 JTable 显示来自允许整数值 0、1 和 2 的模型的值。这些值显示在 9 x 9 网格中(如数独游戏板)。

我的问题是:如何从 GUI 中隐藏零值?

也就是说,在模型值为零的表格单元格中,我不希望 GUI 显示任何值。但是,由于进行了计算,模型必须包含零值。

我尝试使用 DefaultTableCellRenderer 并通过使用 setVisible(true) 将单元格组件设置为不可见(如在此问题中),但我没有得到任何结果。

我已经设法使用 DefaultTableCellRenderer 来根据模型状态切换任何单元格的背景颜色(如果单元格被认为是“负数”)。我确实想保持背景颜色可见

我对java有点陌生,所以也许这只是一个更新问题?

这是我的 DefaultTableCellRenderer:

“getAbsoluteValueAt”方法返回一个整数 0、1 或 2。背景颜色的变化工作得很好。

我的模型扩展了 AbstractTableModel,而 JTable 使用如下渲染器:

我希望这些信息足以解释我的问题以及我迄今为止所做的努力。请询问更多信息,我会提供。

先感谢您。/弗雷德里克

0 投票
1 回答
79 浏览

java - 通过将多个 TableModel 提取到单个 TableModelManager 中来改进设计

我一直被困在我设计的这个特定部分,我想要一些关于我应该如何处理它的意见。我的计划由课程LeerTrajecten和元素组成Elementen。这两个对象可以独立存在,但也可以将元素添加到课程中。 Element本身是对象的抽象超类,如Document,Casus等。

(1) 当一个元素添加到课程中时,会创建一个课程元素LeerTrajectenElement,其中包含TrajectCode, ElementCode,一个由前两个字段和一些其他数据 ( DisplayNaam, DisplayOmschrijving) 组成的自己的唯一代码。

在 GUI (Spring) 中,有几个选项卡 ( JTabbedPane) 专门用于管理这些课程和元素。每个选项卡都有一个概述和一个详细信息面板。在此概述中,有一个JTable显示每个现有的ElementTraject.

这只是一种将程序置于透视图 ( LeerTrajectElement) 并显示可能同时存在多个JTable活动但在不同选项卡上的方式。

(2) 我也有经理,他们的唯一目的是管理他们各自的对象(LeerTrajectManagermanages LeerTrajectElementManagermanagesElement等)。这些管理器是众所周知的,Domeincontroller它们充当整个域的通用外观。来自 GUI 的请求被发送到此DomeinController,如果请求是针对经理的,则该请求将发送到正确的请求。

这是我的程序的基本大纲,我将包括一些图表作为视觉辅助。

(1) 在此处输入图像描述

(2)在此处输入图像描述

我希望我已经提供了有关项目当前设置的足够信息。出于某种原因,我的模型显示不正确,但DomeinController包含 3 个管理器(它未显示在概述中,但关联存在)。

如图 2 所示,每个经理都持有一个 tableModel。TableModel 的定义如下:

在此处输入图像描述

MyAbstractTableModel扩展AbstractTableModel并提供基本实现,因此特定实现可以从此类派生,同时仅提供非常基本的需求。

这就是我们要达到的重点:目前每个经理都有自己的 tableModel,我们(老师)决定我们应该把它抽象成一个经理。我一直在为此做一个实现,但我觉得我有一些根本性的错误:这些 tableModel 可以为几个不同的目的生成:要么你想要所有元素,要么你想要所有元素链接到课程,或者你想要链接到特定课程的所有元素等。

为了获得这样的东西,我尝试创建两种getTableModel方法。第一个仅将枚举 { LEERTRAJECT, ELEMENT, LEERTRAJECTELEMENT} 作为参数,而第二个将附加List<E>参数作为参数。这样做可以让我一般地将数据添加到请求中,这些数据可以由适当的管理器早些时候收集(因此只将结果集数据发送到TableModelManager.

这种方法最终Switch在我的每个方法中都有很多语句,TableModelManager以确定它应该发生什么以及应该使用什么 tableModel。代码变得非常不干净,所以我想这可能不是我想要的样子。

至于为什么我们首先要引入经理:显然我们的 tableModels 现在与我们各自的经理硬链接,我们应该尽量避免这种情况。

所以,总而言之:我有几个经理,他们都拿着一个TableModel来显示他们各自的数据。我想通过将电流保存TableModel在 a 中来集中它TableModelManager并通过这个对象生成表模型。其他经理会简单地持有参考TableModelManager并告诉他数据已更改或要求适当的模型。

我应该如何处理这个?

PS:我意识到这更像是一个设计问题,所以如果我应该把它放在 stackexchange 网络上的不同站点,请告诉我,我会删除它。

PPS:对于非英文部分我很抱歉,我的队友拒绝只使用英文。

0 投票
4 回答
4582 浏览

java - 用于多表模型的java相同的ArrayList

我正在努力避免多个 JTable 的数据重复。基本上我有一个 TableModel,它有一个数据数组列表和一个 string[] 标头。

到目前为止没有什么新鲜事。现在我有另一个 TableModel,它具有相同的数据数组列表,但具有不同的 string[] 标头。

我无法让我的代码工作。我将不胜感激有关如何跨多个表模型共享数据数组列表的一些想法。

因此,当我更改数据时,所有模型都会更新并且没有数据重复。我想避免复制 arraylist 任何想法还是我对这个设置有误?我确实尝试过监听器,但我认为这样下去我们仍然有跨表模型的数据重复。

现在我有另一个表,它具有相同的数据,但只有 3 列(LNAME、FNAME 和 AGE),所以 getColumnClass 不一样。问题是,我可以与另一个表模型共享我的 gymList 数据(这是一个 arrayList)吗?谢谢

0 投票
2 回答
522 浏览

java - 删除 JTable 行

我正在研究 jTable,我打算删除特定的行,作为对表进行的数据操作的一部分。本质上,我已经能够成功删除用户指定的行,但我真正想做的是根据布尔状态或复选框删除几行,这些复选框被选为表的四列之一。

我附上了关于运行代码的当前结果的屏幕截图,并希望能够根据选定的布尔状态或复选框删除行。

下面是我的代码,包括我的表模型代码,它扩展了 AbstractTableModel:

删除 JTable 行的新尝试:

}

0 投票
1 回答
2440 浏览

java - swing jtable默认显示多行

我正在使用 java swing 和 NetBeans 开发一个桌面应用程序它使用带有自定义表模型的 jtable 来呈现数据。我想在表格中显示最小行数,这样即使要显示的实际行数小于最小值,表格也应该显示额外的虚拟行以构成最小行数。

下面是表格模型的代码片段

任何可用的建议。

0 投票
2 回答
659 浏览

java - JTable 单元格未更新

我刚上高中,是编程新手。我正在处理我的第一个任务,但遇到了一个问题。我到处寻找,但没有找到任何帮助。我编写了一个接受输入并在 JTable 中输出数据的 gui。一切看起来都很好,只是当我输入新输入时表格没有更新,即先前显示的日期不会更改为新值。我怀疑下面显示的 AbstractTableModel 的实现是导致故障的原因,因为我只是不知道如何覆盖方法 isCellEditable 和 setValueAt。有人可以进行必要的更正并给我任何额外的信息来帮助我完成我的项目吗?如果您能尽快回复我,我将不胜感激。

附言。nh 和 vh 是整数数组,proc_1 和 proc_ 是字符串数组,并且表被添加到 jtabbedpane,如果这很重要的话......