2016-08-22 54 views
0

我有一个JTable其中一列是复选框。我想让用户通过鼠标拖拽来编辑复选框:如果他们点击了一个复选框并将鼠标拖拽到其他复选框,他们将得到与单击第一个复选框相同的结果。JTable上的复选框列编辑

+1

如果你想使用鼠标悬停编辑复选框,然后为什么你使用拖动选项?因为将鼠标悬停在行上可以选择或取消选中复选框。请您详细说明要求。 –

+0

对不起,我的意思是鼠标悬停,当你点击一个复选框,然后按下鼠标按钮,然后移动到其他复选框,他们将受到影响 – Ives

回答

1

一种方法是为表的选择模型指定ListSelectionModel.MULTIPLE_INTERVAL_SELECTION,如here所示。单击并拖动以选择连续的行,或者添加转变,控制命令修改器以选择不同的行。在合适的Action中,更新TableModel以反映选择,如here所示。 JTable将作为回应自动更新。

image

+0

谢谢,但我想编辑它,而无需按Ctrl或Shift – Ives

+0

@Ives:您可以选择连续点击并拖动的行;只有多个间隔选择需要修改键。 – trashgod

+0

是的,我使用MULTIPLE_INTERVAL_SELECTION,但我禁用行选择通过拖动,因为我也有拖放,它会混淆用户,所以如果想要MULTIPLE_INTERVAL_SELECTION工作,你必须按Ctrl或Shift – Ives