问题标签 [rowsorter]

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 投票
0 回答
1143 浏览

java - setComparator 方法在对 int 的 JTable 列进行排序时不起作用

我正在尝试对 int 类型的数据进行排序JTable,我知道我需要设置一个新的比较器,以便将 int 类型的数据排序为 1,2,3,10,20 而不是 1,10,2,20, 3 但是使用方法后结果仍然是错误的顺序setComparator,所以有人可以告诉我该怎么做吗?

代码如下

新比较器的代码是这样的:

修复它,只需要添加一个监听器来点击标题来为自定义比较器设置 TableRowSorter。

0 投票
0 回答
49 浏览

java - 具有 HTML 内容排序不正确的 JTable 单元格

我有一个包含用于着色和格式化的 HTML 的单元格的 JTable。但是,它正在破坏排序行为。我已经准备好 Jsoup 库,可以从值中删除 HTML,但我不知道在哪里插入逻辑。

改变这种情况的最快、最简单的方法是什么?我想对原始值文本进行排序,而不是带有 HTML 标签的文本。

0 投票
1 回答
35 浏览

java - JTable 中文件的缩写名称

J 刚刚制作了项目 - File Commander。我的文件名有问题JTable,它显示其绝对路径,但我只想显示单独的名称文件/目录。如果我file.getName在我的使用TableModel它没关系,但如果我点击 dir 它表现为String.

简而言之,我需要JTable使用名称显示来自 dir 的文件,但单击它后它的行为必须类似于 File。

如何解决这个问题?

0 投票
1 回答
1633 浏览

java - 如何捕获 JTable 过滤器事件?

我有一个 JTable,我想在它旁边的 JLabel 中显示可见记录数。因此,每当我对 JTable 进行过滤或执行任何更改可见行数的操作时,我都希望 JLabel 使用新的记录数进行更新?我要实现什么样的侦听器来捕获这些事件?

0 投票
2 回答
2538 浏览

java - 用于过滤 JTable 复选框的按钮被选中

我有一个与这个非常相似的 JTable。

http://docs.oracle.com/javase/tutorial/uiswing/components/table.html#sorting

桌子

我已经设法在它上面设置了一个普通的过滤器(一个搜索功能)并且效果很好。我想要一个按钮,该按钮将立即仅显示选中 Vegetarian 的行。

好的,现在感谢@peeskillet 和@HovercraftFullOfEels 提供的帮助,这是我的问题的解决方案:

有用!非常感谢你们,我欠你们酒水什么的。:D

0 投票
1 回答
1335 浏览

java - 排序表的 JTable 选择间隔问题

我有一个 JTable,它使用 RowSorter 进行排序和过滤,并以实时方式更新。当用户尝试使用鼠标(单击 + 拖动行)或通过键盘(SHIFT + 向下箭头多次)创建选择间隔时,我遇到了问题。

一旦发生表模型更新事件,选择间隔开始和结束就会损坏。我发现,如果对表进行了排序并且有多个选定行,则选择模型会触发多个列表选择事件,这些事件会清除然后在每次表模型更新时重新创建选择。

如果一次选择多行 - 一切都很好。用户选择的内容保持选中状态。但是,如果用户尝试通过在多行上单击并向下拖动鼠标来创建选择间隔 - 行将被正确选择,直到触发表模型更新事件。然后选择从当前选定的行开始构建。

我附上了一个小型演示应用程序。尝试使用鼠标选择多行 - 每一秒选择都会被破坏......

这似乎是 Java 类中的一个错误(或不需要的行为)。我希望有人可以提供创造性的解决方案/解决方法。

0 投票
1 回答
3000 浏览

java - 行过滤器在单元格更新事件上无法按预期工作

在共享表模型示例中工作时,我意识到如果我们将行过滤器附加到表的行排序器,则此过滤器对单元格更新事件没有任何影响。根据RowSorter API

需要引用模型的具体实现,RowSorter例如TableModelListModel。视图类,例如JTableJList,也将具有对模型的引用。为避免排序依赖项,RowSorter实现不应在模型上安装侦听器。相反,视图类将RowSorter在模型更改时调用。例如,如果在TableModel JTable调用中更新了一行rowsUpdated。当模型发生变化时,视图可能会调用以下任何方法:modelStructureChangedallRowsChangedrowsInserted和。rowsDeletedrowsUpdated

因此,据我了解,单元格更新是行更新的一种特殊情况,因此rowsUpdated应该调用并相应地过滤行。

为了说明我在说什么,请考虑这个简单的过滤器:

如果单元格值为or ,则此处的第三列应为 aBoolean并且必须包含(行) 。如果我编辑放置在第三列的单元格并将其值设置为,那么我希望这一行只是从视图中“消失”。但是,要做到这一点,我必须再次设置一个新的过滤器,因为它似乎不能“自动”工作。entrynulltruefalse

将 a 附加TableModelListener到模型如下,我可以看到单元格编辑的更新事件:

正如我所说,如果我使用它重置过滤器,TableModelListener那么它会按预期工作:

问题:这是一个错误/实施问题吗?还是我误解了 API?

这是说明问题的完整MCVE 。

0 投票
1 回答
1060 浏览

java - 在 JTable 中插入后如何使用 (RowSort)?

我想知道:JTable插入行后如何重新排序(重新排序)行?

我使用下一个代码:

这段代码工作正常,我可以毫无问题地添加新行,但我想在插入新行后使用第一列 ASC 再次重新排序......

0 投票
1 回答
1032 浏览

java - 过滤 JTable

我正在做一个计算项目,需要我创建一个可以过滤的 JTable。我已设法添加排序功能,但无法添加过滤功能。我能找到的最接近的示例,与我想要的类似,是能够启动它的 TableFilterDemoProject 以及位于http://docs.oracle.com/javase/tutorial/uiswing/examples/components/的源代码index.html#TableFilterDemo

我正在尝试将过滤我的代码的功能添加到这段代码中

我将不胜感激任何帮助。谢谢

0 投票
0 回答
293 浏览

java - 对 Jtable 进行排序时,方法 getRowCount() 返回错误

我是java swing的新手,请帮助我。我有一个简单的应用程序,它接收来自(姓名和职业)的数据,并在按下按钮后将2 JTextfileds它们引入。JTable数据存储在List<Person>where 中Person(String name, String occupation)。该应用程序运行良好,直到我尝试使用TableRowSorter. 我只会给你TablePanelPersonTableModel代码。

表面板类


PersonTableModel 类

如果我激活该方法,为什么我会收到NullPointerExceptionin方法?getRowCount()PersonTableModeladdSorter()