美文网首页
javafx使用便捷事件处理器

javafx使用便捷事件处理器

作者: syy1125 | 来源:发表于2017-12-26 17:26 被阅读0次

    使用快捷方法

    许多快捷方法都定义在Node类中,并且这些方法对Node的所有子类也都是可用的。除此之外还有有一些其它类也包含快捷方法。表2-1列出了这些快捷方法可以处理的事件并标识出这些方法是在哪些类中定义的。

    用户动作事件类型所在类

    按下键盘上的按键   KeyEvent     Node、Scene

    移动鼠标或者按下鼠标按键   MouseEvent      Node、Scene

    执行完整的“按下-拖拽-释放”鼠标动作  MouseDragEvent      Node、Scene

    在一个节点中,底层输入法提示其文本的改变。编辑中的文本被生成/改变/移除时,底层输入法会提交最终结果,或者改变插入符位置。InputMethodEvent      Node、Scene

    执行受所在平台支持的拖拽动作DragEvent    Node、Scene

    滚动某对象  ScrollEvent   Node、Scene

    在某对象上执行旋转手势  RotateEvent   Node、Scene

    在某对象上执行滑动手势   SwipeEvent    Node、Scene

    触摸某对象   TouchEvent    Node、Scene

    在某对象上执行缩放手势   ZoomEvent    Node、Scene

    请求上下文菜单     ContextMenuEvent    Node、Scene

    按下按钮、显示或隐藏组合框、选择菜单项        ActionEvent              

    所属类型(ButtonBase、ComboBoxBase、ContextMenu、MenuItem、TextField)

    编辑列表、表格或者树的子项    ListView.EditEvent     ListView

    TableColumn.CellEditEvent          TableColumn

    TreeView.EditEvent    ListView

    媒体播放器遇到错误    MediaErrorEvent     MediaView

    菜单被显示或者隐藏    Event   Menu

    弹出式窗口被隐藏   Event     PopupWindow

    选项卡被选择或者关闭   Event    Tab

    窗口被关闭、显示或者隐藏    WindowEvent      Window

    注册事件处理器(Event Handler)的快捷方法都有如下格式:

    setOnEvent-type(EventHandler value)

    Event-type表示该Event Handler处理的事件类型,例如,setOnKeyTyped表示处理KEY_TYPED事件、setOnMouseClicked表示处理MOUSE_CLICKED事件。event-class表示事件类型的定义类,例如KeyEvent表示与键盘输入有关的事件、MouseEvent表示与鼠标输入有关的事件。字符串表示该方法接收一个处理event-class类型或其父类型事件的处理器作为参数。例如,当事件是鼠标事件或者键盘事件时都可以使用InputEvent类型的Event Handler。

    下面的语句展示了注册Event Handler的方法的定义,该Event Handler用于处理键盘输入时产生的事件,即按键被按下并被释放时产生的事件:

    setOnKeyTyped(EventHandler value)

    你可以在对快捷方法的调用中把Event Handler定义为匿名类,这种方式可以一步到位地创建和注册事件处理器。Event Handler需要实现handle()方法来提供事件处理代码。

    相关文章

      网友评论

          本文标题:javafx使用便捷事件处理器

          本文链接:https://www.haomeiwen.com/subject/svqjgxtx.html