2011-02-09 9 views
9

HorizontalPanelにクリックハンドラを追加するにはどうすればよいですか?GWTのHorizo​​ntalPanelにクリックハンドラを追加します

新しいGWTバージョンではaddDomHandler()を使用していましたが、これはサポートされていないGWT 2.0.4にダウングレードする必要がありました。私はこれを次のようにしていました:

horizontalPanel.getWidget(1).addDomHandler(someClickHandler,ClickEvent.getType()); 
//or 
horizontalPanel.addDomHandler(someClickHandler, ClickEvent.getType()); 

答えて

31

ネイティブイベントをフックする代わりにFocusPanelsを使用してください。

FocusPanel wrapper = new FocusPanel(); 
HorizontalPanel panel = new HorizontalPanel(); 
wrapper.add(panel); 
wrapper.addClickHandler(new ClickHandler() { 
    @Override 
    public void onClick(ClickEvent event) { 
    // Handle the click 
    } 
}); 

// Add wrapper to the parent widget that previously held panel. 

それともHorizo​​ntalPanelのセル内クリックをキャッチする:パネル全体のクリックをキャッチする

IsWidget child; // Any widget 
HorizontalPanel panel = new HorizontalPanel(); 
FocusPanel clickBox = new FocusPanel(); 

clickBox.add(child); 
panel.add(clickBox); 

clickBox.addClickHandler(...); 
+0

は、ありがとうございます。 –

関連する問題