JavaFX Wombo Combo-отображение текста в зависимости от выбора из выпадающего списка - PullRequest
0 голосов
/ 17 июня 2019

Как я могу отобразить текст в окне в виде, например:

Направление Лондон, скидка Сеньор

Я плохо знаю JavaFx, поэтому я пытался сделать что-то вроде этого

package sample;

public class Main extends Application {


Stage window;
Scene scene;
Button button;
ComboBox<String> destinationBox, discountBox;


@Override
public void start(Stage primaryStage) throws Exception {

    window = primaryStage;
    window.setTitle("Tickets");


    destinationBox = new ComboBox<>();
    destinationBox.getItems().addAll(
            "Berlin", "London", "Madrid", "Moscow", "Paris", "Prague", "Rome"
    );

    discountBox = new ComboBox<>();
    discountBox.getItems().addAll(
            "Full price", "Senior", "Student"
    );
    discountBox.setValue("Full price");
    destinationBox.setValue("Berlin");
    Label label = new Label("Destination " + destinationBox.getValue() + " " + "discount " + discountBox.getValue());


    VBox layout = new VBox(10);
    layout.setPadding(new Insets(20, 20, 20, 20));
    layout.getChildren().addAll(label, discountBox, destinationBox);

    scene = new Scene(layout, 300, 250);
    window.setScene(scene);
    window.show();


}


public static void main(String[] args) {
    launch(args);
}
}

1 Ответ

2 голосов
/ 18 июня 2019

Не хватает только фрагмента кода, который "реагирует" на изменения свойств значений этих двух полей со списком. Попробуйте добавить это:

StringBinding binding = Bindings.createStringBinding(() -> "Destination " + destinationBox.getValue() + " " + "discount " + discountBox.getValue(), destinationBox.valueProperty(), discountBox.valueProperty());
Label label = new Label();
label.textProperty().bind(binding);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...