Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a way to take away focus in javafx?

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 object?

like image 351
sazzy4o Avatar asked Aug 21 '14 17:08

sazzy4o


People also ask

Can you disable editing of a text field Javafx?

you call setVisible(boolean) in order to make it visible or to hide it. You can call setEditable(boolean) to make the field editable or not and finally the setDisable(boolean) to make the field unable to be clicked etc.


Video Answer


1 Answers

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();
    }
}
like image 118
James_D Avatar answered Oct 12 '22 03:10

James_D