Is there a way to take away focus in javafx?

前端 未结 3 1714
迷失自我
迷失自我 2021-01-04 13:20

I know that your can give focus to a node in javafx by doing node.requestFocus(); but is there a way to take away focus from a node in javafx or prevent focus on an

3条回答
  •  温柔的废话
    2021-01-04 13:55

    I don't think there's any guarantee this will always work, but you can try setting focus to something that inherently doesn't accept keyboard input (such as a layout pane):

    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.TextField;
    import javafx.scene.layout.VBox;
    import javafx.stage.Stage;
    
    public class NoFocusTest extends Application {
    
        @Override
        public void start(Stage primaryStage) {
            TextField tf1 = new TextField();
            tf1.setPromptText("Enter something");
            TextField tf2 = new TextField();
            tf2.setPromptText("Enter something else");
            VBox root = new VBox(5, tf1, tf2);
            primaryStage.setScene(new Scene(root, 250, 150));
            primaryStage.show();
            root.requestFocus();
        }
    }
    

提交回复
热议问题