Stackpanel에서 위젯간에 전환 할 때 이벤트를 가져 오는 방법이 있습니까? stackpanel 용 오픈 핸들러와 같은 것입니다. 나는 의 색인을 Stackpanel에 공개 위젯으로 알고 있어야합니다.열린 이벤트에 대한 GWT Stackpanel 처리기
답변
사용 StackLayoutPanel : http://google-web-toolkit.googlecode.com/svn/javadoc/2.0/com/google/gwt/user/client/ui/StackLayoutPanel.html
사용 addSelectionHandler()
방법. 선택한 위젯을 얻으려면 getVisibleIndex()
또는 getVisibleWidget()
을 사용할 수 있습니다.
myStackPanel.addSelectionHandler(new SelectionHandler<Integer>() {
@Override
public void onSelection(SelectionEvent<Integer> event) {
int selectedWidgetIndex = stackPanel.getVisibleIndex());
//Do stuff with the selectedWidgetIndex
}
});
EDIT : 이것은 StackLanoutPanel을 사용하며, OP는 StackPanel을 사용합니다. 그것들의 차이점은 StackPanel이 단조 모드 용이고 StackLayout 패널이 표준 모드 용이라는 것입니다. 새 GWT 위젯이 새 DataGrid와 같이 StackLayoutPanel 또는 레이아웃 관련 위젯을 사용할 때 StackLayoutPanel 또는 Layout 관련 위젯을 사용합니다.
이 행해져 Yout 고맙지 만 : - 메소드 addSelectionHandler를 (새 SelectionHandler이
맞습니다. StackLayoutPanel을 확인했습니다. 호환성 문제가없는 경우 StackPanel을 교체 할 수 있습니다. – JoulSauron
어떤 GWT 버전을 사용하고 있습니까? GWT 2.4에서는 StackPanel에'getSelectedIndex()'가 있습니다. – JoulSauron
당신은 (아마도과 StackPanel을)를 DecoratedStackPanel에 클릭 핸들러를 추가하고 다음과 같이 getSelectedIndex()를 사용하여 다음 showStack
방법을 overridding으로
myDecoratedStackPanel.addHandler(new ClickHandler()
{
@Override
public void onClick(ClickEvent clickEvent)
{
Window.alert("" + myDecoratedStackPanel.getSelectedIndex());
}
}, ClickEvent.getType());
, 그것은 바람이다. 다음과 같이 시도하십시오.
public class StackPanelX extends StackPanel implements IHasChangeHandler {
String ctx_id=null;
IChangeHandler chandler=null;
public StackPanelX() {
super();
}
public void showStack(int index) {
int currentStack = this.getSelectedIndex();
super.showStack(index);
if (currentStack!=index)
if (chandler!=null)
chandler.onChange(ctx_id, new Variant(index));
}
@Override
public void setChangeHandler(String ctx_id, IChangeHandler handler) {
this.ctx_id=ctx_id;
this.chandler=handler;
}
}
- 1. GWT 모눈에 대한 DoubleClick 이벤트 처리기
- 2. PropertyChaned 이벤트에 대한 이벤트 처리기 메서드는 어디에 있습니까?
- 3. 양식 이벤트에 대한 모든 처리기 등록을 취소하려면 어떻게합니까?
- 4. GWT 위젯을 이벤트에 투명하게 만들기
- 5. StackPanel 위치
- 6. GWT 2.2.0 팝업 이벤트에 자동 팝업 숨기기
- 7. 이벤트에 대한 다이어그램 표기법
- 8. UILabel 이벤트에 대한 질문
- 9. Windows 이벤트에 대한 질문
- 10. vb.net의 이벤트에 대한 질문
- 11. DataGridView 이벤트에 대한 질문
- 12. WPF StackPanel 간격 문제
- 13. WPF StackPanel 컨트롤 순서
- 14. StackPanel 컨트롤의 WPF 그림자
- 15. StackPanel 용 DataTrigger 정의
- 16. C# WPF Stackpanel 레이아웃
- 17. WPF : FirstChildFill이있는 StackPanel?
- 18. Stackpanel 항목 애니메이션 추가
- 19. 런타임시 StackPanel 위치가 변경됨
- 20. mousemove 처리기?
- 21. GWT 및 GWT-Ext의 지연로드에 대한 정보
- 22. contextmenustrip 항목에 대한 이벤트 처리기
- 23. 정적 확장에 대한 매핑 처리기
- 24. UINavigationController에 대한 기본 처리기 호출
- 25. Java에서 드래그하는 이벤트에 대한 이벤트
- 26. 스케이프의 키 이벤트에 대한 응답
- 27. 이벤트에 대한 응답으로 음악 적용하기
- 28. 시계열 이벤트에 대한 데이터베이스 제안
- 29. MVVM의 이벤트에 대한 좋은 대답
- 30. 버튼 클릭 이벤트에 대한 IPC
아무도 해결책이 없습니까? – ph09
질문에 대한 답변이 너무 명확하지 않아 ... 예제를 게시 할 수 있습니까? – Stefan
글쎄, 나는 위젯과 함께 Stackpanel을 가지고있다. 하나의 위젯이 열려 있습니다. 이제 사용자가 다른 위젯을 열 때 알려주는 핸들러를 갖기를 원합니다. 그래서 나는 항상 Stackpanel의 어떤 자식이 열려 있는지 알고 있습니다. 무슨 뜻인지 아시오? – ph09