ユーザーがボタンをクリックしたときと同じように、パネルをクリックしたときにイベントを実行したいと考えています。
このパネルのクリック時にイベントを処理するには、これが必要です。
FocusPanel
コンテンツをフォーカス可能にし、マウスとキーボードのイベントをキャッチする機能を追加する GWT を使用する必要があります。panel
だからあなたの内側を包みますFocusPanel
。
Panel panel = new Panel(); //Your panel here(ex;hPanel,vPanel)
FocusPanel focusPanel = new FocusPanel();
focusPanel.addClickListener(new ClickListener(){
public void onClick(Widget sender) {
// TODO Auto-generated method stub
}
});
focusPanel.add(panel);
もう1つの可能性(FocusPanelなし)
HorizontalPanel hpanel = new HorizontalPanel();
hpanel.sinkEvents(Event.CLICK);
hpanel.addHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
// TODO Auto-generated method stub
}
}, ClickEvent.getType());
このようなHasClickHandlersインターフェースを実装する新しいウィジェット(この例ではAbsoluteパネルを拡張)を作成します
public class MyCustomPanel extends AbsolutePanel
implements HasClickHandlers
{
public HandlerRegistration addClickHandler(
ClickHandler handler)
{
return addDomHandler(handler, ClickEvent.getType());
}
}
そして、私のコードでは、このようにします
MyCustomPanel mPanel = new MyCustomPanel();
mPanel.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
// Do on click stuff here.
}
});