0

ユーザーがボタンをクリックしたときと同じように、パネルをクリックしたときにイベントを実行したいと考えています。

このパネルのクリック時にイベントを処理するには、これが必要です。

4

2 に答える 2

6

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());
于 2013-03-21T12:17:04.377 に答える
0

このような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.
    }
});
于 2013-03-21T14:47:49.503 に答える