2015-01-29 4 views
0

Не уверен, что мой вопрос с заголовком верен.JavaFX привязывает кнопки друг к другу

То, что я пытаюсь достичь, состоит в том, чтобы одна кнопка создала объект 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); 
     } 
    }); 

Спасибо!

ответ

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)); 

С креплениями мы гарантируем, что вторая кнопка может быть уволен только тогда, когда пользовательский объект уже создан и хранится.

Другой способ заключается в создании подкласса Button, осуществляющего связь с другим Button. Это вопрос личного вкуса.

Смежные вопросы