通过jtable中的箭头键删除行选择

时间:2011-10-16 05:48:14

标签: java swing jtable key-bindings

我在JScrollpane中实现了一个JTable。我已将MouseListener添加到JTable中,因此它可以与MouseListener一起使用。

现在我的问题是,行选择也会通过键盘箭头键(向上箭头/向下箭头)更改,并且它不会调用我已使用MouseListener实现的方法。所以我只想通过键盘箭头删除JTable选择。

请帮帮我。

2 个答案:

答案 0 :(得分:8)

当输入了KeyStoke时,Swing组件使用Key Bindings来调用Action。

通过阅读上面的教程链接,您应该能够使用以下代码删除键绑定:

InputMap im = table.getInputMap(JTable.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
im.put(KeyStroke.getKeyStroke("DOWN", 0), "none");

我会让你处理上行密钥。

答案 1 :(得分:2)

JTable有ListSelectionModel。您可以使用方法getSelectionModel()获取它。 然后,您可以通过方法addListSelectionListener(ListSelectionListener)将ListSelectionListener添加到ListSelectionModel。