1
Я пытаюсь использовать TextField.setPrefColumnCount(), чтобы дать мне текстовые поля разного размера в GridPane. GridPane определяет все поля в самом длинном поле. Я здесь что-то не так, или мне нужно явно установить максимальный размер полей в их предпочтительный размер для всех полей?GridPane Игнорирование TextField.setPrefColumnCount
public class TestProject extends Application {
@Override
public void start(Stage primaryStage) {
BorderPane base = new BorderPane();
GridPane inner = new GridPane();
inner.setHgap(4);
inner.setVgap(4);
inner.setPadding(new Insets(8));
inner.setMaxWidth(Double.MAX_VALUE);
inner.setGridLinesVisible(true);
inner.setStyle("-fx-border-color:red");
Label lA = new Label("Label A");
Label lB = new Label("Label B");
Label lC = new Label("Label C");
TextField tA = new TextField();
tA.setPrefColumnCount(30);
TextField tB = new TextField();
tB.setPrefColumnCount(15);
TextField tC = new TextField();
tC.setPrefColumnCount(6);
inner.addRow(0, lA, tA);
inner.addRow(1, lB, tB);
inner.addRow(2, lC, tC);
base.setCenter(inner);
base.setPrefWidth(800);
base.setPrefHeight(600);
Scene scene = new Scene(base);
primaryStage.setTitle("GridPane TextField Test");
primaryStage.setScene(scene);
primaryStage.show();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
}
Оказывается, один и то же место на ColumnConstraints будет делать это слишком. Благодаря! – Geoff