如何在javafx中动态地根据第一个组合框的值填充第二个组合框

时间:2015-10-08 12:50:25

标签: javafx-2

我正在使用javafx并处理应用程序CRUD。在组合框中使用数据,当我从一个组合框中选择任何数据时,相关数据应显示在另一个组合框中。数据源是mysql。

1 个答案:

答案 0 :(得分:0)

这只是一个简单的例子,你需要将数据形式mysql添加到组合框see this ? code发表评论(如果有的话)。

示例

import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.ComboBox;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class Table extends Application {
    private Stage primaryStage;
    private AnchorPane pane;

    @Override
    public void start(Stage primaryStage) {
        this.primaryStage = primaryStage;
        this.primaryStage.setTitle("AddressApp");

        VBox v = new VBox(10);
        ComboBox<String> c = new ComboBox<String>();
        ComboBox<String> c1 = new ComboBox<String>();
        ObservableList<String> sList = FXCollections.observableArrayList();
        sList.addAll("b", "c", "dd", "dcd", "dddf");
        c.setItems(sList);
        c1.setItems(sList);
        // c1.valueProperty().bind(c.valueProperty());
        c1.valueProperty().addListener(new ChangeListener<String>() {

            @Override
            public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
            c.setValue(newValue);
        }
    });
    v.getChildren().addAll(c, c1);
    Scene Scene = new Scene(v);
        primaryStage.setScene(Scene);

        primaryStage.show();

    }

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