2015-01-29 4 views
0

내 제목 질문이 맞는지 확실하지 않습니다.서로에게 JavaFX 바인딩 버튼

내가 달성하고자하는 것은 하나의 버튼으로 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

그 방법에는 여러 가지가 있습니다, 그건 내 마음에 오는 첫 번째는 자바 FX의 속성입니다 : 바인딩

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의 하위 클래스를 작성하는 것도 또 다른 방법입니다. 그것은 개인적인 취향의 문제입니다.