java - 我无法通过单击修改 JTable 中的选定行
问题描述
我有一张桌子,开始时选择的行是第 0 行。我在表格中添加了一个 MouseEvent 来跟踪用户的点击。当点击次数为 1 时,我只想将焦点放在选定的行上。当点击数至少为 2 时,我将执行其他操作,但这不是此问题的一部分。
当我运行代码时,它不会从行中删除选择,而是将其添加到当前选择中。
public void mouseClicked(MouseEvent e) {
int row = leftTable.rowAtPoint(e.getPoint());
if (e.getClickCount() == 1) {
leftTable.removeRowSelectionInterval(0, leftTable.getRowCount() - 1);
leftTable.setRowSelectionInterval(row, 0);
}
if (e.getClickCount() >= 2) {
System.out.println("selected: " + row);
}
}
});
解决方案
当我运行代码时,它不会从行中删除选择,而是将其添加到当前选择中。
leftTable.setRowSelectionInterval(row, 0);
使用方法时阅读 API。
API 声明:
选择从 index0 到 index1 的行(含)。
由于您的值之一始终为 0,因此您将始终选择所有行。
如果您只想选择一行,则两个参数应具有相同的值。
在任何情况下都不需要此逻辑,因为默认情况下该表已经支持此功能。
推荐阅读
- c - 使用终端编译两个C文件,一个文件包含ah,两个文件包含ch
- sql - 对 CASE 语句使用 where 条件
- java - 从 webapp tomee 启动 JMX
- reactjs - “IntrinsicAttributes”类型上不存在属性“maxCount”
- spring-boot - 使用 AWS Lambda 的 Spring 数据 jpa
- python - python - 如何合并具有相同名称但存在于python中单独git repos中的不同模块的包?
- pytorch - 在两个图像轴上使用 pytorch Autograd
- python - Django wagtail {% slug url '
' %} 页面未找到 heroku - javascript - 尝试将二维数组下载为 .csv,但我正在为每一行返回一个文件
- windows - imap.gmail.com 993 - 在服务器上连接失败,但在本地工作