swing的JTable中有数据时,按下键盘的上下键会变换选择行。
现在我想屏蔽这个系统功能,只想用户用鼠标选择。
注意了:我知道可以继承JTable然后覆盖它的processKeyEvent事件以达到屏蔽的目的,
但是我现在不想使用继承,因为我只是想让某个界面的table不响应按键事件,所以不想为这个界面单独写一个表格继承类。
有没有直接写代码的办法屏蔽JTable的系统按键事件?
可能是要用removeKeyListener事件,望熟悉的朋友指点一下。谢谢!

解决方案 »

  1.   

    我还是推荐你覆盖processKeyEvent:
    private JTable table = new JTable(){
    public void processKeyEvent(KeyEvent e){
    //do something...
    }
    };
      

  2.   

    getKeyListener得到数组,然后for循环remove掉就可以
    这样任何系统的key都不响应了想要实现啥自己再添加
      

  3.   

    什么叫祖先事件的监听?
    与SWT不同,swing全是java自己的东西,
    应该移除掉以后,就没有任何监听了才对