美文网首页
javafx事件

javafx事件

作者: 残志 | 来源:发表于2018-12-10 22:47 被阅读0次

在JavaFX应用程序中,事件通知一些事情发生了。当用户点击一个按钮、按下一个键、移动鼠标、或者执行其他的操作,都会有事件会被派生出来。在应用程序中注册事件过滤器和事件处理器可以接收到事件并提供响应。
1.键盘事件
KeyEvent有三种
我们应该已经知道,JavaFX中的KeyEvent有三种:

KeyEvent.KEY_PRESSED:任意按键按下时响应

KeyEvent.KEY_RELEASED:任意按键松开时响应

KeyEvent.KEY_TYPED:文字输入键按下松开后响应
【注意】这里需要注意到这三种事件的区别,尤其是KEY_TYPED只会响应文字输入键,如字母、数字和标点符号等,它不会响应CTRL/ENTER/F1等功能键。所以可以把这三种事件看作两大类。
对这三种事件的处理器设置分别对应为:
Node.setOnKeyPressed(EventHandler<? super KeyEvent> value)
Node.setOnKeyReleased(EventHandler<? super KeyEvent> value)
Node.setOnKeyTyped(EventHandler<? super KeyEvent> value)
2鼠标事件
在MouseEvent 对象里,能得到以下信息:
event.getButton() 按钮 (左、中、右)
event.getClickCount() 移动(0), 单击(1), 双击(2)
event.getX() 点击位置 (窗口坐标 )
event.getSceneX() 点击位置 (屏幕坐标 )
MouseButton.PRIMARY鼠标左键

ListView对象为例

// setOnxxx
listView.setOnMouseClicked(new EventHandler<MouseEvent>() {

    @Override
    public void handle(MouseEvent event)
    {
        if(event.getButton() == MouseButton.PRIMARY && event.getClickCount() == 2)
        {
            System.out.println("双击了条目");

            int index = listView.getSelectionModel().getSelectedIndex();
            Student s = listView.data().get(index);

        }
        else if(event.getButton() == MouseButton.PRIMARY && event.getClickCount() == 1)
        {
            System.out.println("单击了条目");
        }               

});

相关文章

  • FX事件处理

    JavaFX中的事件 JavaFX提供了处理各种事件的支持。包javafx.event的名为Event的类是事件的...

  • JavaFX 事件

    在JavaFX编写的程序中,当用户与应用程序交互时总会有事件发生。 1.事件类型 JavaFX中事件大致可以分为以...

  • javafx事件

    在JavaFX应用程序中,事件通知一些事情发生了。当用户点击一个按钮、按下一个键、移动鼠标、或者执行其他的操作,都...

  • JAVAFX(一.事件初识)

    一 事件 一个事件代表了对应用有意义的事情的出现,如移动鼠标、敲击键盘等。在JavaFX中,一个事件是javafx...

  • javafx笔记

    记录javafx使用 表格样式重写 其他css 事件监听 布局

  • JAVAFX事件 笔记

    1.JavaFX中的事件 1.1鼠标事件 1.2键事件 2.处理步骤 3.鼠标事件 在MouseEvent 对象里...

  • JavaFX事件初探

    1.概念JavaFX最重要的特性就是属性绑定,事件也推荐这样做,和swing、Android常用的set***的方...

  • JavaFX - 事件处理(1)

    前言 在JavaFX中,我们可以开发GUI应用程序,Web应用程序和图形应用程序。在这样的应用程序中,每当用户与应...

  • JavaFX事件整理1

    1、概念: Java GUI 和Android中,事件通常通过实现listener的接口函数,并通过addXXXL...

  • JavaFX实现客户端——java也可以做很炫的页面哦

    (JavaFX实现客户端) JavaFX 技术栈 JavaFX+springboot+sqlite+mybatis...

网友评论

      本文标题:javafx事件

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