javafx.scene.Scene#addEventHandler ( )源码实例Demo

下面列出了javafx.scene.Scene#addEventHandler ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: zest-writer   文件: MainApp.java
private void initRootLayout() {
    try {
        // Load root layout from fxml file.
        FXMLLoader loader = new CustomFXMLLoader(MainApp.class.getResource("fxml/Root.fxml"));
        rootLayout = loader.load();

        menuController = loader.getController();
        menuController.setMainApp(this);

        scene = new Scene(rootLayout);
        scene.addEventHandler(KeyEvent.KEY_PRESSED, event -> {
            if(event.isAltDown())
                event.consume();
        });
        primaryStage.setScene(scene);
        primaryStage.show();
        loadCombinason();
    } catch (IOException e) {
        logger.error(e.getMessage(), e);
    }
}
 
源代码2 项目: training   文件: Main.java
private void addKeyHandler(Scene scene, SpriteView.Shepherd mary) {
    scene.addEventHandler(KeyEvent.KEY_PRESSED, ke -> {
        KeyCode keyCode = ke.getCode();
        switch (keyCode) {
            case W:
            case UP:
                mary.move(Direction.UP);
                break;
            case A:
            case LEFT:
                mary.move(Direction.LEFT);
                break;
            case S:
            case DOWN:
                mary.move(Direction.DOWN);
                break;
            case D:
            case RIGHT:
                mary.move(Direction.RIGHT);
                break;
            case ESCAPE:
                Platform.exit();
        }
    });
}
 
源代码3 项目: bisq   文件: PeerInfoWithTagEditor.java
@Override
protected void onShow() {
    super.display();

    if (stage != null) {
        focusListener = (observable, oldValue, newValue) -> {
            if (!newValue)
                hide();
        };
        stage.focusedProperty().addListener(focusListener);

        Scene scene = stage.getScene();
        if (scene != null)
            scene.addEventHandler(KeyEvent.KEY_RELEASED, keyEventEventHandler);
    }
}
 
源代码4 项目: quantumjava   文件: Main.java
private void addKeyHandler(Scene scene, SpriteView.Shepherd mary) {
    scene.addEventHandler(KeyEvent.KEY_PRESSED, ke -> {
        KeyCode keyCode = ke.getCode();
        switch (keyCode) {
            case W:
            case UP:
                mary.move(Direction.UP);
                break;
            case A:
            case LEFT:
                mary.move(Direction.LEFT);
                break;
            case S:
            case DOWN:
                mary.move(Direction.DOWN);
                break;
            case D:
            case RIGHT:
                mary.move(Direction.RIGHT);
                break;
            case X:
                chickenCoop.toggleActive();
                break;
            case H:
                nest.toggleActive();
                break;
            case C:
                rainbow.toggleActive();
                break;
            case ESCAPE:
                Platform.exit();
        }
    });
}
 
public void loadSettings(){
    FXMLLoader loader = new FXMLLoader(getClass().getResource("/poe/level/fx/preferences.fxml"));
    AnchorPane ap = null;
    try {
        ap = loader.load();
    } catch (IOException ex) {
        Logger.getLogger(ZoneOverlay_Stage.class.getName()).log(Level.SEVERE, null, ex);
    }
    controller = loader.<Preferences_Controller>getController();
    controller.hookGameModeOn(parent_gameModeOn);
    Scene scene = new Scene(ap);
    scene.addEventHandler(KeyEvent.KEY_PRESSED, new EventHandler<KeyEvent>() {
        @Override
        public void handle(KeyEvent event) {
            if (event.getCode() == KeyCode.ESCAPE) {
                close();
            }
        }
    });
    scene.getStylesheets().add(getClass().getResource("/styles/style.css").toExternalForm());

    this.setScene(scene);
    //this.setAlwaysOnTop(true);
    this.setOnCloseRequest(event -> {
        this.hide();
    });

    this.show();
}
 
源代码6 项目: HubTurbo   文件: UI.java
private void setupGlobalKeyboardShortcuts(Scene scene) {
    globalHotkey.init();
    scene.addEventHandler(KeyEvent.KEY_PRESSED, event -> {
        if (SHOW_ISSUE_PICKER.match(event)) {
            triggerEvent(new ShowIssuePickerEvent(logic.getModels().getIssues(), true));
        }
    });
}
 
源代码7 项目: ReactFX   文件: EventStreams.java
public static <T extends Event> EventStream<T> eventsOf(
        Scene scene, EventType<T> eventType) {
    return new EventStreamBase<T>() {
        @Override
        protected Subscription observeInputs() {
            EventHandler<T> handler = this::emit;
            scene.addEventHandler(eventType, handler);
            return () -> scene.removeEventHandler(eventType, handler);
        }
    };
}
 
源代码8 项目: phoebus   文件: GroupVsPaneDemo.java
@Override
public void start(Stage primaryStage)
{
    Pane pane = new Pane();
    Group group = new Group();

    VBox.setVgrow(group, Priority.NEVER);
    VBox.setVgrow(pane, Priority.NEVER);

    VBox vbox = new VBox(group, pane);

    Rectangle rect1 = new Rectangle(100, 100, 100, 100);
    Rectangle rect2 = new Rectangle(100, 100, 100, 100);
    Rectangle rect3 = new Rectangle(200, 200, 100, 100);
    Rectangle rect4 = new Rectangle(200, 200, 100, 100);
    rect1.setFill(Color.BLUE);
    rect2.setFill(Color.BLUE);
    rect3.setFill(Color.GREEN);
    rect4.setFill(Color.GREEN);

    group.getChildren().addAll(rect1, rect3);
    pane.getChildren().addAll(rect2, rect4);

    Scene scene = new Scene(vbox, 800, 800);
    scene.addEventHandler(KeyEvent.KEY_PRESSED, e ->
    {
        double deltaX ;
        switch(e.getCode())
        {
            case LEFT:
                deltaX = -10 ;
                break ;
            case RIGHT:
                deltaX = 10 ;
                break ;
            default:
                deltaX = 0 ;
        }
        rect3.setX(rect3.getX() + deltaX);
        rect4.setX(rect4.getX() + deltaX);
    });

    primaryStage.setScene(scene);
    primaryStage.show();
}
 
源代码9 项目: mars-sim   文件: GroupVsPaneDemo.java
@Override
public void start(Stage primaryStage) {
    Pane pane = new Pane();
    Group group = new Group();

    VBox.setVgrow(group, Priority.NEVER);
    VBox.setVgrow(pane, Priority.NEVER);

    VBox vbox = new VBox(group, pane);


    Rectangle rect1 = new Rectangle(100, 100, 100, 100);
    Rectangle rect2 = new Rectangle(100, 100, 100, 100);
    Rectangle rect3 = new Rectangle(200, 200, 100, 100);
    Rectangle rect4 = new Rectangle(200, 200, 100, 100);
    rect1.setFill(Color.BLUE);
    rect2.setFill(Color.BLUE);
    rect3.setFill(Color.GREEN);
    rect4.setFill(Color.GREEN);

    group.getChildren().addAll(rect1, rect3);
    pane.getChildren().addAll(rect2, rect4);

    Scene scene = new Scene(vbox, 800, 800);
    scene.addEventHandler(KeyEvent.KEY_PRESSED, e -> {
        double deltaX ;
        switch(e.getCode()) {
            case LEFT:
                deltaX = -10 ;
                break ;
            case RIGHT:
                deltaX = 10 ;
                break ;
            default:
                deltaX = 0 ;
        }
        rect3.setX(rect3.getX() + deltaX);
        rect4.setX(rect4.getX() + deltaX);
    });

    primaryStage.setScene(scene);
    primaryStage.show();
}
 
源代码10 项目: markdown-writer-fx   文件: MainWindow.java
MainWindow() {
	fileEditorTabPane = new FileEditorTabPane(this);
	fileEditorManager = new FileEditorManager(fileEditorTabPane);
	projectPane = new ProjectPane(fileEditorManager);

	Preferences state = MarkdownWriterFXApp.getState();
	double dividerPosition = state.getDouble("projectPaneDividerPosition", 0.2);

	SplitPane splitPane = new SplitPane(projectPane.getNode(), fileEditorTabPane.getNode()) {
		private int layoutCount;

		@Override
		protected void layoutChildren() {
			super.layoutChildren();
			if (layoutCount < 2) {
				layoutCount++;
				setDividerPosition(0, dividerPosition);
				super.layoutChildren();
			}
		}
	};
	SplitPane.setResizableWithParent(projectPane.getNode(), false);
	splitPane.setDividerPosition(0, dividerPosition);
	splitPane.getDividers().get(0).positionProperty().addListener((ob, o, n) -> {
		Utils.putPrefsDouble(state, "projectPaneDividerPosition", n.doubleValue(), 0.2);
	});

	BorderPane borderPane = new BorderPane();
	borderPane.getStyleClass().add("main");
	borderPane.setPrefSize(800, 800);
	borderPane.setTop(createMenuBarAndToolBar());
	borderPane.setCenter(splitPane);

	scene = new Scene(borderPane);
	scene.getStylesheets().add("org/markdownwriterfx/MarkdownWriter.css");
	scene.windowProperty().addListener((observable, oldWindow, newWindow) -> {
		newWindow.setOnCloseRequest(e -> {
			if (!fileEditorTabPane.canCloseAllEditos())
				e.consume();
		});

		// workaround for a bug in JavaFX: unselect menubar if window looses focus
		newWindow.focusedProperty().addListener((obs, oldFocused, newFocused) -> {
			if (!newFocused) {
				// send an ESC key event to the menubar
				menuBar.fireEvent(new KeyEvent(KeyEvent.KEY_PRESSED,
						KeyEvent.CHAR_UNDEFINED, "", KeyCode.ESCAPE,
						false, false, false, false));
			}
		});
	});

	Utils.fixSpaceAfterDeadKey(scene);

	// workaround for a bad JavaFX behavior: menu bar always grabs focus when ALT key is pressed,
	// but should grab it when ALT key is releases (as all other UI toolkits do) to give other
	// controls the chance to use Alt+Key shortcuts.
	scene.addEventHandler(KeyEvent.KEY_PRESSED, e -> {
		if (e.isAltDown())
			e.consume();
	});

	// open markdown files dropped to main window
	scene.setOnDragOver(e -> {
		if (e.getDragboard().hasFiles())
			e.acceptTransferModes(TransferMode.COPY);
		e.consume();
	});
	scene.setOnDragDropped(e -> {
		boolean success = false;
		if (e.getDragboard().hasFiles()) {
			fileEditorTabPane.openEditors(e.getDragboard().getFiles(), 0, -1);
			success = true;
		}
		e.setDropCompleted(success);
		e.consume();
	});

	Platform.runLater(() -> stageFocusedProperty.bind(scene.getWindow().focusedProperty()));
}
 
源代码11 项目: bisq   文件: BisqApp.java
private void addSceneKeyEventHandler(Scene scene, Injector injector) {
    scene.addEventHandler(KeyEvent.KEY_RELEASED, keyEvent -> {
        if (Utilities.isCtrlPressed(KeyCode.W, keyEvent) ||
                Utilities.isCtrlPressed(KeyCode.Q, keyEvent)) {
            shutDownByUser();
        } else {
            if (Utilities.isAltOrCtrlPressed(KeyCode.E, keyEvent)) {
                injector.getInstance(BtcEmptyWalletWindow.class).show();
            } else if (Utilities.isAltOrCtrlPressed(KeyCode.B, keyEvent)) {
                injector.getInstance(BsqEmptyWalletWindow.class).show();
            } else if (Utilities.isAltOrCtrlPressed(KeyCode.M, keyEvent)) {
                injector.getInstance(SendAlertMessageWindow.class).show();
            } else if (Utilities.isAltOrCtrlPressed(KeyCode.F, keyEvent)) {
                injector.getInstance(FilterWindow.class).show();
            } else if (Utilities.isAltOrCtrlPressed(KeyCode.H, keyEvent)) {
                log.warn("We re-published all proposalPayloads and blindVotePayloads to the P2P network.");
                injector.getInstance(MissingDataRequestService.class).reRepublishAllGovernanceData();
            } else if (Utilities.isAltOrCtrlPressed(KeyCode.T, keyEvent)) {
                // Toggle between show tor logs and only show warnings. Helpful in case of connection problems
                String pattern = "org.berndpruenster.netlayer";
                Level logLevel = ((Logger) LoggerFactory.getLogger(pattern)).getLevel();
                if (logLevel != Level.DEBUG) {
                    log.info("Set log level for org.berndpruenster.netlayer classes to DEBUG");
                    Log.setCustomLogLevel(pattern, Level.DEBUG);
                } else {
                    log.info("Set log level for org.berndpruenster.netlayer classes to WARN");
                    Log.setCustomLogLevel(pattern, Level.WARN);
                }
            } else if (Utilities.isAltOrCtrlPressed(KeyCode.J, keyEvent)) {
                WalletsManager walletsManager = injector.getInstance(WalletsManager.class);
                if (walletsManager.areWalletsAvailable())
                    new ShowWalletDataWindow(walletsManager).show();
                else
                    new Popup().warning(Res.get("popup.warning.walletNotInitialized")).show();
            } else if (Utilities.isAltOrCtrlPressed(KeyCode.G, keyEvent)) {
                if (injector.getInstance(BtcWalletService.class).isWalletReady())
                    injector.getInstance(ManualPayoutTxWindow.class).show();
                else
                    new Popup().warning(Res.get("popup.warning.walletNotInitialized")).show();
            } else if (DevEnv.isDevMode()) {
                if (Utilities.isAltOrCtrlPressed(KeyCode.Z, keyEvent))
                    showDebugWindow(scene, injector);
            }
        }
    });
}
 
源代码12 项目: FXyzLib   文件: CameraController.java
private void setEventHandlers(Scene scene) {
    scene.addEventHandler(KeyEvent.ANY, k -> handleKeyEvent(k));
    scene.addEventHandler(MouseEvent.ANY, m -> handleMouseEvent(m));
    scene.addEventHandler(ScrollEvent.ANY, s -> handleScrollEvent(s));
}
 
源代码13 项目: halfnes   文件: ControllerImpl.java
public ControllerImpl(final Scene scene, final int controllernum) {
    this(controllernum);
    scene.addEventHandler(javafx.scene.input.KeyEvent.KEY_PRESSED, e -> pressKey(e.getCode().impl_getCode()));
    scene.addEventHandler(javafx.scene.input.KeyEvent.KEY_RELEASED, e -> releaseKey(e.getCode().impl_getCode()));
}