2014-09-06 1 views
1

DIFFERENT 값을 선택하면 콤보 상자에서 이벤트가 발생합니다. 내가 선택한 동일한 항목을들을 수 있기를 원합니다 (즉, valueProperty에는 변경 사항이 없음). 이것을 할 방법이없는 것 같습니다.ComboBox 동일한 항목이 선택된 동작 수신기

ComboBox를 확장하고 작은 팝업 메뉴를 수신 대기하는 방법을 찾았지만 닫을 수는 없지만 액세스 할 수는 없습니다. 내가 무엇을 할 수 있을지? 여기

내가하려고했던 것입니다 : 값이 변경되기 전에

class ResponsiveComboBox<E> extends ComboBox<E> { 

    public ResponsiveComboBox() { 
     super(); 
     assert getContextMenu() != null; //Asssertion failed! 
     this.getContextMenu().setOnHiding((WindowEvent event) -> { 
      fireEvent(new ActionEvent()); 
     }); 
    } 

} 

답변

3
comboBox.showingProperty().addListener((obs, wasShowing, isShowing) -> { 
    if (! isShowing) { 
     System.out.println("Combo box popup hidden"); 
    } 
}); 

이 이벤트 핸들러가 트리거 될 수 있습니다.

+0

멋진! 동시에 onCancelEdit도 처리합니다. 다시 한번 감사드립니다. –