zoukankan      html  css  js  c++  java
  • JavaFx EventHandler

    import javafx.application.Application;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.Group;
    import javafx.scene.Scene;
    import javafx.scene.control.Menu;
    import javafx.scene.control.MenuBar;
    import javafx.scene.control.MenuItem;
    import javafx.scene.layout.BorderPane;
    import javafx.scene.paint.Color;
    import javafx.stage.Stage;
    
    public class Main extends Application {
    
        public static void main(String[] args) {
            Application.launch(args);
        }
    
        @Override
        public void start(Stage primaryStage) {
            primaryStage.setTitle("Title");
            Group root = new Group();
            Scene scene = new Scene(root, 400, 250, Color.WHITE);
    
            MenuBar menuBar = new MenuBar();
            EventHandler<ActionEvent> action = changeTabPlacement();
    
            Menu menu = new Menu("Direction");
            MenuItem left = new MenuItem("Left");
    
            left.setOnAction(action);
            menu.getItems().add(left);
    
            MenuItem right = new MenuItem("Right");
            right.setOnAction(action);
            menu.getItems().add(right);
    
            MenuItem top = new MenuItem("Top");
            top.setOnAction(action);
            menu.getItems().add(top);
    
            MenuItem bottom = new MenuItem("Bottom");
            bottom.setOnAction(action);
            menu.getItems().add(bottom);
    
            menuBar.getMenus().add(menu);
    
            BorderPane borderPane = new BorderPane();
    
            borderPane.prefHeightProperty().bind(scene.heightProperty());
            borderPane.prefWidthProperty().bind(scene.widthProperty());
            
            borderPane.setTop(menuBar);
            
            root.getChildren().add(borderPane);
    
            primaryStage.setScene(scene);
            primaryStage.show();
        }
    
        private EventHandler<ActionEvent> changeTabPlacement() {
            return new EventHandler<ActionEvent>() {
    
                public void handle(ActionEvent event) {
                    MenuItem mItem = (MenuItem) event.getSource();
                    String side = mItem.getText();
                    if ("left".equalsIgnoreCase(side)) {
                        System.out.println("left");
                    } else if ("right".equalsIgnoreCase(side)) {
                        System.out.println("right");
                    } else if ("top".equalsIgnoreCase(side)) {
                        System.out.println("top");
                    } else if ("bottom".equalsIgnoreCase(side)) {
                        System.out.println("bottom");
                    }
                }
            };
        }
    }
  • 相关阅读:
    atitit查询表修改表字段没反应--解锁锁定的表
    atitit.自适应设计悬浮图片的大小and 位置
    .net 科学类型相关问题
    js eval()执行传参函数的写法
    oracle里如何将两个日期的时间差返回**时**分的格式
    .NET开源项目介绍及资源推荐:数据持久层
    highCharts 电流表、电压表
    win7 telnet命令无法使用
    ascx aspx ashx asmx 文件的作用
    Oracle 新建序列值
  • 原文地址:https://www.cnblogs.com/rojas/p/4720258.html
Copyright © 2011-2022 走看看