Я пытаюсь установить отступ для текстового поля в JavaFX (используя Java 8_192).У меня есть простой VBox с 3 TextFields в нем.Если я вручную устанавливаю заполнение для первого TextField, другие TextFields каким-то образом сбрасывают свои отступы до 0, когда я фокусирую их.
Первый TextField имеет заполнение вручную:
При фокусировке второго (или третьего) TextField они получают отступ 0:
Если я сфокусируюсь на чем-то другом, их отступы будут сброшены к обычным отступам, установленным javafx (4, 7, 4, 7).Странно то, что если я установлю отступ tf2
вместо tf1
, проблем не будет.Кроме того, если я вручную установлю отступы каждого TextField, они не будут сброшены на 0. Но это, очевидно, не может быть ответом ...
Мой код:
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
VBox vbox = new VBox();
vbox.setSpacing(10);
vbox.setPadding(new Insets(10, 10, 10, 10));
TextField tf1 = new TextField();
TextField tf2 = new TextField();
TextField tf3 = new TextField();
vbox.getChildren().addAll(tf1);
vbox.getChildren().addAll(tf2);
vbox.getChildren().addAll(tf3);
tf1.setPadding(new Insets(7, 7, 7, 7));
// Setting the padding of tf2 instead of tf1 works
Scene scene = new Scene(vbox, 250, 150);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Почему заполнение сбрасывается после фокуса, только при установке отступа на первый TextField, который я добавляю в vbox?