如何通过鼠标按下和拖动来关闭jtable单元格选择

位流转:

我想使用JTable,但要使用其他单元格选择方法,而不是单击单元格。我正在使用玻璃窗格来允许用户绘制矩形,并发现要选择的矩形中包含哪些单元格。但是我只想选择一个单元格,如果它完全在矩形内。例如,想象一个简单的3 x 3桌子。我想要选择中间单元格(1,1)的用户。我希望他们能够单击第一个单元格0,0并向下拖动到单元格2,2,以绘制矩形进行选择。但是我不希望选择单元0,0或2,2。或为此选择全部9个。这是一个简化的示例。绘制矩形实际上可能包含屏幕上多个表中的单元格。

我研究了实现ListSelectionModel接口的方法,但实际上并不想尝试重写它。在进行实验时,我看到在模型中单击并拖动表时,模型中的setSelectionInterval()被疯狂地调用(对于每个鼠标移动)。我真正想要的是找到一种简单的方法来关闭对SelectionModel进行调用的表上的所有侦听器/机制,同时将模型保持在原位。我仍然希望它例如报告isSelectedIndex()。我会告诉模型选择什么间隔。

我发现在JTables中固有地内置了鼠标输入适配器?如果可能的话,我想将其关闭。

谢谢,BBB

eternaln00b:

对于通用/基于文本的问题,您将获得通用的,基于文本的答案。:)首先卸载默认情况下安装在表上的MouseListener:

MouseListener[] listeners = myTable.getMouseListeners();
for (MouseListener l : listeners)
{
    myTable.removeMouseListener(l);
}

然后,将自己的MouseListener添加到表中(如果需要,请使用MouseAdapter),并覆盖“ mousePressed” /“ mouseReleased”方法以记录拖动开始和拖动结束的点。确定封闭的矩形并调用:

setRowSelectionInterval(#, #)
setColumnSelectionInterval(#,#)

选择一个(或多个)单元格。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何按功能选择单元格

如何仅通过在 Excel 中选择起始单元格来录制宏以复制和粘贴表格?

如何确定在JTable中选择了哪个单元格?

PFQueryTableViewController按下时有行通过单元格

如何使UICollectionView仅在触摸时选择一个单元格,而不是按下

表格单元格上的角度鼠标按下/鼠标悬停

Swift xcode:按下按钮后通过输入文字来更改表格中行/单元格的名称/标题

失去对JTable单元格的选择

单元格选择jtable事件之前

如何使用QCombobox选择来更新QTableView单元格?

选择一个新的 jTable 单元格后如何保持彩色的 jTable 单元格?

基于UITableview单元格在拖动时的移动来启用和禁用UITableview滚动

jqGrid-如何在单元格编辑模式下以编程方式选择单元格?

如何选择,取消选择和单个表格单元格

如何通过按下表格视图外的按钮来清空表格视图中的单元格数据?

如何在双击鼠标时清除 JTable 单元格

如何使用 INDEX 和 MATCH 来基于单元格?

JTable-通过按Tab键使单元格进入“编辑”模式

为特定的JTable单元格设置鼠标光标

如何通过仅选择表格正下方行中的任何单元格来触发宏(ListObject)

如何通过单击网格ExtJS 6中的一个单元格来选择一条记录

如何从我尚未选择但在 C# 中按下按钮的行中获取任何单元格?

通过从tableView的标头collectionView中选择不同的单元格来更改tableView单元格

如何使JTable单元格不可编辑,但应该能够选择并复制当前单元格中的值

如何使Jtable单元格字符长度

如何区分通过鼠标滚动和通过在javascript / jQuery中拖动窗口滚动来完成滚动

如何通过使用wxPython在透明背景上拖动鼠标来选择要捕获的屏幕矩形?

如何根据VBA中命名的开始和结束单元格选择单元格范围?

如何获取单元格范围以根据单元格值进行选择和复制