2016-12-30 1 views
0

배경 정보 : 현재 게임용으로 확장 한 Dialog 클래스에서 작업 중입니다. 이 대화 상자의 내용 표 안에는 이미지와 표가 있습니다 (ioTable). ioTable 안에는 라벨과 텍스트 필드가 모두 있습니다. 대화 상자는 사용 용도에 맞는 양식이됩니다.Actor 설정 듣기 버튼 클릭 LibGDX

다음으로, 대화 상자의 단추 표 안에 "지우기"텍스트 단추 (clearButton)를 포함하고 싶습니다. clearButton은 TextFields에 쓰여진 모든 값을 ioTable으로 지우는 아이디어입니다.

내 질문 :인가는 clearButton을 누를 때 트리거 ioTable의 TextField의 각 리스너를 추가 할 수 있습니다. 언제나 그렇듯이, 다른 모든 창조적 인 솔루션도 환영합니다. 여러 clearButtons을 만드는 자신을 참조하면 쉽게 도우미 방법이 포장 또는 TextButton을 확장 할 수

// Assuming getSkin() and ioTable are defined elsewhere and ioTable is final 
TextButton clearButton = new TextButton("Clear", getSkin()); 
clearButton.addListener(new EventListener() { 
    @Override 
    public boolean handle(Event event) { 
    for(Actor potentialField : table.getChildren()) { 
     if(potentialField instanceof TextField) { 
     ((TextField)potentialField).setText(""); 
     } 
    } 
    return true; 
    } 
}); 
// Add clearButton to your dialog 

:

답변

1

당신은 단지의 EventListener를 삭제하려는 테이블에 대한 참조를 줄 수 있습니다.

+0

Perfect! instanceof 연산자는 완전히 나를 도주, 감사합니다! –