用JavaFX创建2个相互依赖的下拉框的正确方法是通过使用绑定(binding)机制来实现。下面是一个示例代码:
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.scene.Scene;
import javafx.scene.control.ComboBox;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
ComboBox<String> comboBox1 = new ComboBox<>();
ComboBox<String> comboBox2 = new ComboBox<>();
// 设置comboBox1的选项
comboBox1.setItems(FXCollections.observableArrayList("选项1", "选项2", "选项3"));
// 绑定comboBox2的选项到comboBox1的值
comboBox2.itemsProperty().bind(comboBox1.valueProperty().asString().concat("的选项"),
FXCollections.observableArrayList("选项1", "选项2", "选项3"));
VBox root = new VBox(comboBox1, comboBox2);
Scene scene = new Scene(root, 200, 200);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
上述代码中,我们创建了两个ComboBox对象,comboBox1和comboBox2。首先,我们设置comboBox1的选项为"选项1"、"选项2"和"选项3"。然后,我们使用绑定机制将comboBox2的选项绑定到comboBox1的值。这样,当comboBox1的值发生变化时,comboBox2的选项也会相应地改变。
这种方法可以用于实现各种相互依赖的下拉框,例如省市区级联选择、商品分类选择等场景。
腾讯云相关产品和产品介绍链接地址:
请注意,以上仅为示例产品,实际使用时应根据具体需求选择适合的腾讯云产品。
领取专属 10元无门槛券
手把手带您无忧上云