JavaFX podstawy

0

W jaki sposób sprawić by w program wypisywal tekst w zależności od tego czego wybralo sie z suwaków opcji, tzn. np.

Destination London discount Senior

package sample;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.geometry.Insets;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ComboBox;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

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"
        );

        Label label = new Label("Destination " + destinationBox.getPromptText() + ", discount \"" + discountBox.getTypeSelector()+ "\"");
  






        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);
    }
}

0

Przecież tu nawet nie masz suwaków w tym kodzie.

0
NeutrinoSpinZero napisał(a):

Przecież tu nawet nie masz suwaków w tym kodzie.

suwaków w sensie listy rozwijane miałem na myśli

0

Twój FXowy Label jak dla mnie powinien być polem klasy. Kiedy będzie polem klasy to pod Combobox podpinasz listenera na zmianę wartości, coś jak tutaj: https://stackoverflow.com/questions/41323945/javafx-combobox-add-listener-on-selected-item-value. W środku metody takiego listenera ustawiasz nowy tekst dla etykiety Label.

1 użytkowników online, w tym zalogowanych: 0, gości: 1