javafx2.0 修改控件默认鼠标键盘监听
?
JFX为所有空间提供了默认的鼠标键盘监听,以符合一般使用习惯. 比如表格/列表/树等控件中可以使用方向键选择表单元,空格/回车/F2开始编辑. 但有时候我们需要自定义的键盘监听来适合自己的需要, 比如在表中按下回车将自动提交编辑并移到右边单元.
?
屏蔽控件的默认鼠标键盘监听, 可以通过添加一个事件过滤器(EventFilter)来实现.下面的例子实现了屏蔽TableView的Enter键默认监听, 并在Enter键按下时选择表格的右边单元.
?
?
table.addEventFilter(KeyEvent.KEY_PRESSED, new EventHandler<KeyEvent>() {@Overridepublic void handle(KeyEvent e) {// e.consume(); //blocks all key bingdingstable.requestFocus();KeyCode code =e.getCode();if(code == KeyCode.ENTER){try {// your code herenew Robot().keyPress(java.awt.event.KeyEvent.VK_RIGHT);//XXX javafx has no robot for key type...} catch (Exception e1) {}e.consume();}}});??
?
?
?
事件过虑参考阅读:
http://docs.oracle.com/javafx/2.0/api/javafx/scene/Node.html#addEventFilter%28javafx.event.EventType,%20javafx.event.EventHandler%29
http://docs.oracle.com/javafx/2.0/events/jfxpub-events.htm
?
?
?
?