java使用CTRL+单击选择JTable中的多行
我有一个JTable
和MULTIPLE_INTERVAL_SELECTION
。我需要控件+单击以选择添加行。在我的LAF中,这并不是自动发生的。我编写了以下使用鼠标侦听器的代码:
addMouseListener(new MouseAdapter()
{
@Override
public void mousePressed(MouseEvent event)
{
ListSelectionModel listSelectionModel = getSelectionModel();
if (listSelectionModel.getSelectionMode() ==
ListSelectionModel.MULTIPLE_INTERVAL_SELECTION)
{
if (event.isControlDown())
{
int rowView = rowAtPoint(event.getPoint());
if (isRowSelected(rowView))
{
System.out.println("rowView already selected");
}
listSelectionModel.addSelectionInterval(rowView, rowView);
}
}
}
});
问题是,行选择事件发生在输入鼠标侦听器之前。单击的行已被选中,但之前的选择已被清除
我的问题是:
如何捕获选择事件以绕过自动选择
我是否可以捕获该事件以阻止它清除之前的选择,使用getModifiers()
查看是否按下了控制键,然后调用addSelectionInterval
我需要帮助确定和设置一个听众来做这件事
共 (0) 个答案