JavaFX 应用程序发生了一些奇怪的事情,在非触摸屏 Ubuntu 13.04 上运行良好。OnMouseClickedListener和任何其他,如onAction或onTouch 不会捕获事件,但是当我们触摸它时,CSS 样式的按钮会变为选中状态。所以应用程序知道,该按钮被触摸了。onAction 监听器也会发生奇怪的事情:触摸事件是由应用程序捕获的,它放置在我的应用程序“下方”。
添加触摸监听的代码:
btn1.setOnTouchPressed(new EventHandler<TouchEvent>() {
@Override
public void handle(TouchEvent touchEvent) {
// deal with touch
touchEvent.consume();
}
});
添加触摸监听器和动作监听器的代码:
<Button fx:id="btn2" onMouseClicked="#clicksHandler" text="btn"/>
<Button fx:id="btn3" onAction="#actionHandler" text="btn"/>
以及此事件的处理程序:
@FXML
private void actionHandler(Event event){
// Handle event
event.consume();
}
@FXML
private void clicksHandler(MouseEvent event){
// Handle event
event.consume();
}
请帮忙解决这个问题。
成立解决方法:安装ubuntu 12.04 LTS。事件由OnMouseClickedListener处理。