2014-05-14 5 views
0

controlsFX 8.0.5 프레임 워크의 AutoCompletionEvent를 처리하고 싶지만 어떻게 든 해고 당하지 않을 것입니다! 제안이 없으면 "new ..."라는 항목이 하나 있어야하며이 항목을 선택하면 무언가를하고 싶습니다. 그래서 나는 EventHandler를 설정했다.JavaFx controlsFX AutoCompletionEvent가 작동하지 않습니다.

AutoCompletionBinding<String> bind = TextFields.bindAutoCompletion(tf, sr -> { 
      List<String> shownSuggestions = new ArrayList<String>(); 
      for (Client c : suggestions) { 
       if (!sr.getUserText().isEmpty() 
         && c.toString().toLowerCase().startsWith(sr.getUserText().toLowerCase())) { 
        shownSuggestions.add(c.toString()); 
       } 
       if (shownSuggestions.isEmpty()) { 
        if (sr.getUserText().isEmpty()) { 
         shownSuggestions.add(NEW_PARTY); 
        } else { 
         shownSuggestions.add(sr.getUserText() + NEW_PARTY_WITH_NAME); 
        } 
       } 
      } 
      return shownSuggestions; 
     }); 

을 그리고 이것은 내 이벤트 핸들러입니다 :

내가 구현과 같은 바인딩

  bind.setOnAutoCompleted(new EventHandler<AutoCompletionEvent<String>>() { 
      @Override 
      public void handle(AutoCompletionEvent<String> event) { 
       if (event.getCompletion().equals(NEW_PARTY)) { 
        System.out.println("new party chosen"); 
       } else if (event.getCompletion().endsWith(NEW_PARTY_WITH_NAME)) { 
        System.out.println("new party with input chosen"); 
       } 
       event.consume(); 
      } 
     }); 

그러나 콘솔에 출력이 없습니다.

누군가 나를 도울 수 있습니까? 나는

관련

답변

0

이벤트가 발사 결코 극복하는 것이 원인 controlsFX 8.0.5의 버그가 있습니다 ... 지금은 일이 노력하고있어. 따라서 코드는 정확하지만 결코 호출되지 않습니다. Bug report in controlsFX 8.0.5

관련 문제