import javafx.application.Application; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; import javafx.scene.Scene; import javafx.scene.control.TextField; import javafx.scene.layout.FlowPane; import javafx.stage.Stage; /** * * @author akouznet */ public class Bug extends Application { public static void main(String[] args) { launch(args); } @Override public void start(Stage stage) throws Exception { final TextField textField1 = new TextField(); final FlowPane root = new FlowPane(); root.getChildren().add(textField1); root.focusedProperty().addListener(new ChangeListener() { @Override public void changed(ObservableValue arg0, Boolean arg1, Boolean focused) { if (!focused) { // Platform.runLater(new Runnable() { // // @Override // public void run() { root.getChildren().remove(textField1); // } // }); } } }); root.setFocusTraversable(true); // root.requestFocus(); Scene scene = new Scene(root, 1000, 500); stage.setScene(scene); stage.show(); } }