我在JScrollpane中实现了一个JTable。我已将MouseListener添加到JTable中,因此它可以与MouseListener一起使用。
现在我的问题是,行选择也会通过键盘箭头键(向上箭头/向下箭头)更改,并且它不会调用我已使用MouseListener实现的方法。所以我只想通过键盘箭头删除JTable选择。
请帮帮我。
答案 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。