2024-09-29 09:09

JavaFX事件

码自答

JavaEE

(396)

(0)

收藏

  • JavaFX的事件

    JavaFX的事件的组成:

    事件源----产生事件的组件,Button等

    事件处理--EventHandler接口的handle方法

    添加事件--事件源的setOn...方法

    image.png

  • 常用事件类型

    MouseEvents----鼠标事件

    KeyEvents-------键盘事件

    ActionEvents----动作事件-点击按钮

    WidowEvents---窗口事件

    ScrollEvent-----滚动事件

    RotationEvent--旋转事件

    ZoomEvent-----缩放事件

    TouchEvent-----触摸事件

    FocusEvent-----焦点事件

  • 以动作事件为例

    点击确定按钮,显示消息对话框

    image.png

  • 界面代码


  • package sample;
    
    import javafx.application.Application;
    import javafx.fxml.FXMLLoader;
    import javafx.geometry.Insets;
    import javafx.geometry.Pos;
    import javafx.scene.Parent;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.control.Label;
    import javafx.scene.control.PasswordField;
    import javafx.scene.control.TextField;
    import javafx.scene.layout.HBox;
    import javafx.scene.layout.VBox;
    import javafx.stage.Stage;
    
    import javax.swing.*;
    
    public class Main extends Application {
    
        @Override
        public void start(Stage primaryStage) throws Exception{
    
            Button button = new Button("确定");
    
            VBox box = new VBox(button);
    
            box.setAlignment(Pos.CENTER);
            //设置居中
    
            button.setOnAction(new ActionEventHandler());
            //添加动作事件
    
            primaryStage.setTitle("Hello World");
            primaryStage.setScene(new Scene(box, 300, 275));
            primaryStage.show();
        }
    
    
        public static void main(String[] args) {
            launch(args);
        }
    }
  • 事件代码

  • package sample;
    
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.control.Alert;
    
    public class ActionEventHandler implements EventHandler<ActionEvent> {
        @Override
        //事件执行方法
        public void handle(ActionEvent actionEvent) {
            Alert alert = new Alert(Alert.AlertType.INFORMATION);
            //消息对话框
            alert.setContentText("万码学堂 做最负责人的教育");
            //消息对话框显示内容
            alert.show();
            //显示消息对话框
        }
    }

0条评论

点击登录参与评论