JavaFX: как мне добиться «кнопки без фокуса по умолчанию» - PullRequest
0 голосов
/ 14 февраля 2019

Я новичок в JavaFX, и я делаю свое первое приложение простой игрой на палаче, так как это то, что я делал раньше на качелях.

В игре я создал клавиатуру,но я не могу понять, как сделать так, чтобы все мои кнопки не фокусировались при запуске игры, поэтому это выглядит так:

enter image description here

Уведомлениекак 'Q' затемнено.Я подумал о подходе янки, например, о том, что кнопка вне сцены ничего не делает, но действует как кнопка фокуса по умолчанию, но мне бы очень хотелось узнать правильный способ сделать это.Все мои исследования рассказывали только о том, как сфокусировать конкретную кнопку.

Огромное спасибо всем, кто хочет помочь.

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

Я думаю, что упомянутое @ Седриком правильно.Вы можете просто сфокусироваться на любом узле макета по умолчанию.

import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.ToggleButton;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class DefaultFocusDemo extends Application {
    @Override
    public void start(Stage primaryStage) throws Exception {
        VBox root = new VBox();
        root.setAlignment(Pos.CENTER);
        root.setSpacing(20);
        Scene sc = new Scene(root, 500, 500);
        primaryStage.setScene(sc);
        primaryStage.show();


        ToggleButton btn1 = new ToggleButton("Button 1");
        ToggleButton btn2 = new ToggleButton("Button 2");
        ToggleButton btn3 = new ToggleButton("Button 3");
        ToggleButton btn4 = new ToggleButton("Button 4");

        HBox hb1 = new HBox();
        hb1.setAlignment(Pos.CENTER);
        hb1.getChildren().addAll(btn1, btn2);

        HBox hb2 = new HBox();
        hb2.setAlignment(Pos.CENTER);
        hb2.getChildren().addAll(btn3, btn4);

        root.getChildren().addAll(hb1, hb2);

        hb1.requestFocus();
    }
}
0 голосов
/ 14 февраля 2019

У вас правильная идея.Создайте кнопку вне экрана и убедитесь, что она имеет начальный фокус.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...