2010-06-02 5 views
3

GWT에서 트리 컨트롤을 사용하고 있습니다. 내가 노드 오프닝 이벤트에 myWidget 인스턴스를 검색하고 싶은GWT 트리 열기 이벤트

Tree testTree = new Tree(); 
testTree.addItem(myWidget); 

: 나는 내가 TreeItem로 추가 사용자 정의 위젯을 가지고있다. 가능한가? 아무도 내가 어떤 이벤트를 사용해야하는지 알고 있습니까?

나는 openHandler<TreeItem>을 시도했지만 검색 한 것은 트리 항목입니다.

답변

1

나는 멀리 보았다.

원래 질문에 대답하려면 : openHandler에서 검색 한 이벤트에는 필요한 모든 정보가 있습니다. 그냥 정보를

public void onOpen(OpenEvent<TreeItem> event) { 
// The TreeItem 
TreeItem ti = event.getTarget(); 

// The widget added in the treeItem 
CustomWidget cw = (CustomWidget)event.getTarget().getWidget(); 
} 

:

대신에 나는 내 자신의 위젯을 만들 수 TreeItem을 확장 내 TreeItem에 (I 다른 곳에서는 사용하지 않았다) 위젯을 추가. 그래서 나는 그것에 접근하기 위해 간단히 event.getTarget()이 필요했다. FastTree 소개

: 나는 GWT와 함께 일하는 사람들을 읽은 내용에 대한

은 보통 직선 제이슨 말했듯이, FastTree를 사용하여 이동은 더 많은 가능성과 더 나은 성능을 제공합니다. 내 구성에서 FastTree를 실행하는 데 문제가있어서 (예제 코드 포함) 약간의 시간이 걸리므로 기본 Tree 위젯을 사용해야했습니다.

2

당신은 GWT의 Tree, 당신은 정말 사용하고 싶어 사용하고있는 거의 모든 경우에 BeforeOpenEventonBeforeOpen()에 사용할 수 있도록 전달하는 BeforeOpenHandler<FastTreeItem>을 취하는 addBeforeOpenHandler() 방법이있는 GWT 인큐베이터의 FastTree,의 source의 경우 (즉 ... 길기도했다)

긴 단편 소설, FastTree>Tree, 당신은 FastTree 자체에 addBeforeOpenHandler()을 사용하고 싶습니다.

나무에 위젯을 추가하려면 (단지 FastTreeItem 대신) 위젯을 FastTreeItem에 추가하거나 FastTreeItem의 서브 클래스를 추가하여 원하는 것을 할 수 있습니다.

관련 문제