不确定我的标题问题是否正确。
我想要实现的是让一个按钮创建一个Vehicle对象。然后有一个不同的按钮调用方法embark(这将只更新一些字段)。
总的来说:
创建对象Vehicle实例的一个按钮。 第二个按钮,用于调用此实例上的方法。
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);
}
});
谢谢!
答案 0 :(得分:2)
有几种方法,我想到的第一种方法是使用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
进行通信。这是个人品味的问题。