zoukankan      html  css  js  c++  java
  • JavaFX学习:连续点击事件

    import javafx.application.Application;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.geometry.Insets;
    import javafx.scene.Group;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.input.KeyCode;
    import javafx.scene.input.MouseButton;
    import javafx.scene.input.MouseEvent;
    import javafx.scene.layout.*;
    import javafx.scene.paint.Paint;
    import javafx.scene.text.Font;
    import javafx.stage.Stage;
    
    public class Main extends Application {
        public static void main(String[] args) {
            launch(args);
        }
    
        @Override
        public void start(Stage primaryStage) throws Exception {
    
            Button btn1 = new Button("一个按钮");
            btn1.setLayoutX(100);
            btn1.setLayoutY(100);
            Button btn2 = new Button("另一个按钮");
            btn2.setLayoutX(100);
            btn2.setLayoutY(200);
    
            // 设置按钮点击事件
            btn1.setOnAction(new EventHandler<ActionEvent>() {
                @Override
                public void handle(ActionEvent event) {
                    Button btn = (Button) event.getSource();
                    // System.out.println("btn1被点击了[" + event + "]");
                }
            });
    
            // 点击事件的其他写法
            // btn1.addEventFilter();
            // btn1.addEventHandler();
            btn1.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>() {
                @Override
                public void handle(MouseEvent event) {
                    System.out.println("鼠标按键=" + event.getButton().name());  // PRIMARY左键,SECONDARY右键,MIDDLE中键
                    System.out.println("连续点击次数=" + event.getClickCount()); // 获取单击的次数,借此实现连击监听
    
                    // 鼠标左键,连续点击两次
                    if (event.getButton().name().equals(MouseButton.PRIMARY.name()) && event.getClickCount() == 2) {
                        System.out.println("鼠标左键连续点击两次");
                    }
                    System.out.println("------------------------------");
                }
            });
    
    
            Group group = new Group();
            group.getChildren().add(btn1);
            group.getChildren().add(btn2);
    
            // 将 Group 添加到 Scene 上
            Scene scene = new Scene(group);
            primaryStage.setScene(scene);
            primaryStage.setTitle("javafx");
            primaryStage.setWidth(800);
            primaryStage.setHeight(800);
            primaryStage.show();
        }
    }
    
    
  • 相关阅读:
    vue 实战
    通信的三个核心问题
    中间件编程—面向通信的软件组件
    jsbridge与通信模型
    laravel5.6 调用第三方类库
    淘宝IP地址库API接口(PHP)通过ip获取地址信息
    这可能是目前最全的Redis高可用技术解决方案总结
    json_decode遇到的编码问题
    太平洋网络ip地址查询接口使用,返回json格式,默认返回jsonp
    分享几个IP获取地理位置的API接口(最全面的了)
  • 原文地址:https://www.cnblogs.com/wbyixx/p/14340383.html
Copyright © 2011-2022 走看看