问题标签 [glazedlists]
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.
java - 如何在 Java 的 GlazedLists/JTable 中添加、删除和更新行?
我创建了一个带有 GlazedLists 的表,以便能够过滤该表以进行搜索。现在的问题是如何删除、添加或更新此表中的行。我确实搜索了 API,但无法弄清楚。
谁能用一个简单的例子演示如何实现删除、添加、更新?
编辑:
java - 如何在 Java 的 GlazedLists/JTable 中使列、行或单元格可编辑?
任何人都可以放下一行代码来展示如何使 GlazdJTable 的单元格可编辑吗?
//如何设置表格单元格可编辑?
注意:我知道 TableFormat 必须实现 WritableTableFormat 接口。但我不知道我应该创建自定义表格格式还是可以像 JTable 一样设置 Jtable 单元格可编辑。
java - 如何在 JTable 中使用 glazedlist 的 UndoRedoSupport 或 undoSupport?
我用 GlazedList eventList 创建了一个 JTable。我搜索了 API,但不知道如何向该表添加撤消/重做可能性。我在 API 中发现了以下类:
UndoRedoSupport undoRedoSupport = new UndoRedoSupport<"what here?">("argument?");
UndoSupport undoSupport = new UndoSupport<"what to write here?">("argument?");
有没有人知道如何使用它?
java - 如何用 GlazedList 中的字符串替换 JTextField 作为过滤器?
我有一组单选按钮,我想将其用作表格的过滤器。这个单选按钮在我的模型类中设置了一个变量。在我的模型中使用吸气剂,我检索了这个值,我想在我的 GlazedList 表中使用这个值作为过滤器。
有没有人知道怎么做?
下面是我使用 JTextField 作为过滤器的表格:
java - 如何将不同级别的两个过滤器添加到同一个 GlazedList 表?
我创建了一个表,我想在两个不同的级别对其进行过滤。首先使用文件扩展名上的单选按钮过滤它(.jpg,.doc,其余)。第二次使用 textField 对其进行过滤,以在第一次过滤后搜索内容。如下所示,您可以在演示中看到我可以使用单选按钮过滤表格,但我不知道如何在表格上应用二级过滤器(JTextField)。
有没有人知道怎么做?
MatcherEditor 类:
java - 如何以编程方式根据第二列对 glazedList 表进行排序?
我有一个 GlazedList 表,它有 3 列。我可以通过单击列标题手动对死者和升序进行排序。
我的问题是如何在应用程序启动时对表格进行排序? 我的意思是表格根据第二列自动升序排序。
编辑:
只需添加.appendComparator(1,0,true)
如下TableComparatorChooser
。
TableComparatorChooser.install(codeTable, codeSortedList, TableComparatorChooser.MULTIPLE_COLUMN_MOUSE).appendComparator(1,0,true);
java - 如何自定义 TableComparatorChooser 以响应单击鼠标?
我有一个 GlazedList 表,当我想对列进行排序时,我应该双击。我想将其更改为单击。
有谁知道该怎么做?
java - 当我切换到 GlazedLists 的 EventTableModel 时,为什么我的 JXTable 排序这么慢?
更新
我已经更新了这个问题以更准确地描述我的问题的原因,并包含了一个比我最初使用的更简单的示例。
我在下面包含了一个简单的示例来显示我遇到的性能问题。当我用一个普通的 ArrayList 支持我的 JXTable 时,它的性能相当不错。但是,如果我将 ArrayList 切换为 EventList 并使用 EventTableModel 构建表,则排序要慢得多(在这种情况下要慢约 10 倍)。
如果使用 Maven 或 Gradle,这里是我正在使用的工件坐标。
这是一个例子。我尝试使用 EventList 的唯一原因是因为我想要一个可以在 TableModel 之外修改并产生必要通知的数据结构。
我还注意到 EventTableModel 支持的表是基于字符串值而不是数值排序的,但我不知道为什么。这是来自分析器的几个屏幕截图,其中有一百万行正在排序。
有任何想法吗?
java - 当我使用 removeAll(和 e.getValueIsAdjusting == false)从列表中删除多个项目时,为什么我的 ListSelectionListener 会看到多个事件?
我正在使用 GlazedLists'EventList
并EventTableModel
在下面的示例中。我不确定它是否有所作为。我有一张桌子,我正在观察选择的变化。当我删除多个项目时,会ListSelectionListener
看到多个事件,并且在处理程序内部时,表报告的选定索引与删除发生之前的模型状态匹配,即使模型已经更改。
当我运行以下示例时,列表中添加了 7 个项目。如果我选择最后 2 项,控制台上会出现以下输出:
这就是我所期望的,但是当我删除这两个项目时,我得到以下输出:
由于我正在删除removeAll
列表中使用的连续块中的项目,因此我认为这是一个事件,但ListSelectionListener
似乎收到通知,就好像它是两个单独的事件一样。如果我删除 4 个项目,侦听器会看到 4 个事件。
表格和模型不同步,但我不知道为什么。如果从列表末尾删除项目,则表报告的选定索引可能大于基础列表大小。基本上,在调用底层模型JTable.getSelectedRows
引起的最后一个选择事件之前,返回的索引是不可靠的。removeAll
JTable
在列表选择稳定并且将报告正确的选定索引后,如何获得有关选择更改的通知?