javafx2.0 修改控件默认鼠标键盘监听_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > javafx2.0 修改控件默认鼠标键盘监听

javafx2.0 修改控件默认鼠标键盘监听

 2012/2/6 9:31:18  c.zhiwu  程序员俱乐部  我要评论(0)
  • 摘要:JFX为所有空间提供了默认的鼠标键盘监听,以符合一般使用习惯.比如表格/列表/树等控件中可以使用方向键选择表单元,空格/回车/F2开始编辑.但有时候我们需要自定义的键盘监听来适合自己的需要,比如在表中按下回车将自动提交编辑并移到右边单元.屏蔽控件的默认鼠标键盘监听,可以通过添加一个事件过滤器(EventFilter)来实现.下面的例子实现了屏蔽TableView的Enter键默认监听,并在Enter键按下时选择表格的右边单元.table.addEventFilter(KeyEvent
  • 标签:Java 鼠标 监听 控件

?

JFX为所有空间提供了默认的鼠标键盘监听,以符合一般使用习惯. 比如表格/列表/树等控件中可以使用方向键选择表单元,空格/回车/F2开始编辑. 但有时候我们需要自定义的键盘监听来适合自己的需要, 比如在表中按下回车将自动提交编辑并移到右边单元.

?

屏蔽控件的默认鼠标键盘监听, 可以通过添加一个事件过滤器(EventFilter)来实现.下面的例子实现了屏蔽TableView的Enter键默认监听, 并在Enter键按下时选择表格的右边单元.

?

?

		table.addEventFilter(KeyEvent.KEY_PRESSED, new EventHandler<KeyEvent>() {
			@Override
			public void handle(KeyEvent e) {
				// e.consume(); //blocks all key bingdings
				table.requestFocus();
				KeyCode code =e.getCode();
				if(code == KeyCode.ENTER){
					try {
						// your code here
						new 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

?

?

?

?

发表评论
用户名: 匿名