不确定我的标题问题是否正确。
我试图实现的是让一个按钮创建一个车辆对象。然后让一个不同的按钮调用方法embark(这只会更新一些字段)。
所以一般来说:
一个按钮创建对象车辆的实例。调用此实例上的方法的第二个按钮。
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);
}
});
谢谢!
有几种方法可以做到这一点,我首先想到的是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));
使用Bindings,我们确保只有在已经创建和存储自定义对象时才能触发第二个按钮。
另一种方法是编写Button
的子类,与另一个Button
进行通信。这是个人品味的问题。