有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JavaFX将按钮相互绑定

不确定我的标题问题是否正确

我试图实现的是让一个按钮创建一个车辆对象。然后使用另一个按钮调用方法bounk(它只会更新一些字段)

因此,一般来说:

一个按钮用于创建对象车辆的实例。 用于在此实例上调用方法的第二个按钮

        btnCar.setOnAction(new EventHandler<ActionEvent>(){
        public void handle(ActionEvent event){
            Vehicle C = new Car(amountPass, "hej", "hej");
        }
    });
    btnEmbark.setOnAction(new EventHandler<ActionEvent>(){
        public void handle(ActionEvent event){
            ferry.embark(C);
        }
    });

谢谢


共 (1) 个答案

  1. # 1 楼答案

    有几种方法可以做到这一点,我首先想到的是JavaFX属性:

    ObjectProperty<Object> object = new SimpleObjectProperty<>();
    
    Button button1 = new Button("create");
    button1.setOnAction(ev -> object.set(new Object()));
    
    Button button2 = new Button("magic");
    button2.setOnAction(ev -> object.get().hashCode());
    button2.disableProperty().bind(Bindings.isNull(object));
    

    通过绑定,我们确保第二个按钮只能在自定义对象已经创建和存储时触发

    另一种方法是编写Button的子类,与另一个Button进行通信。这是个人品味的问题