Время компоновки JavaFX - PullRequest
       3

Время компоновки JavaFX

0 голосов
/ 28 ноября 2018

Я пытаюсь достичь этого, но сталкиваюсь с некоторыми проблемами.Я получил грубый скелет, но, например, когда я пытаюсь добавить вывод TextArea в мой контейнер Vbox, я получаю сообщение об ошибке.

Ошибка: The method addAll(int, Collection<? extends Node>) in the type List<Node> is not applicable for the arguments (HBox, HBox, HBox, Button, TextArea)

РЕДАКТИРОВАТЬ: у меня былонеправильный импорт для TextArea, вместо javafx.scene.control.TextArea у меня был awt;

        GridPane g1 = new GridPane();
        HBox firstRow = new HBox();
        firstRow.setPadding(new Insets(10));

        Label name = new Label("Name: ");
        TextField nameInput = new TextField();

        g1.add(name, 0, 0);
        g1.add(nameInput, 1, 0);
        firstRow.getChildren().addAll(g1);

        GridPane g2 = new GridPane();
        HBox secondRow = new HBox();
        secondRow.setPadding(new Insets(10));

        Label city = new Label("City: ");
        TextField cityInput = new TextField();

        g2.add(city, 0, 0);
        g2.add(cityInput, 1, 0);
        secondRow.getChildren().addAll(g2);


        HBox thirdRow = new HBox();
        thirdRow.setSpacing(20);
        thirdRow.setPadding(new Insets(5));
        RadioButton radioName = new RadioButton("Name");
        RadioButton radioCity = new RadioButton("City");
        RadioButton radioZip = new RadioButton("Zip");
        ToggleGroup group = new ToggleGroup();
        radioName.setToggleGroup(group);
        radioCity.setToggleGroup(group);
        radioZip.setToggleGroup(group);
        thirdRow.getChildren().addAll(radioName, radioCity, radioZip);

        Button search = new Button("Search");

        HBox fifthRow = new HBox();
        TextArea output = new TextArea();


        VBox container = new VBox();
        container.getChildren().addAll(firstRow, secondRow, thirdRow, search);

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

Ваш вопрос изначально был не слишком ясен, потому что вы не включили ошибку, которую видели.Проблема заключается в том, что вы импортировали неправильный TextArea, операторы импорта которого также не включены в ваш вопрос.

Вам необходимо изменить import java.awt.TextArea; на import javafx.scene.control.TextArea;.Первый - это элемент управления для AWT, а второй - элемент управления для JavaFX.

0 голосов
/ 28 ноября 2018

Как говорится, вам нужно добавить дочерний «выход», который является элементом TextBox, в контейнер.

container.getChildren().addAll(firstRow, secondRow, thirdRow, search, output);

Также я хотел бы отметить, что вам нужно расположить элементы в правильном порядке, так какэтот код вообще не прагматичен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...