2013-08-19 44 views
0

如果已經提出並回答了此問題,請原諒我,因爲我一直無法找到它。如何實現GWT,Java,按鈕和點擊處理程序

我能找到像

button.addClickHandler(new ClickHandler() { 
    public void onClick(ClickEvent event) { 
     ... stuff ... 
    } 
}); 

我想了解如何使用下面的結構來實現一個按鈕單擊處理的幾個例子。

public class myClass implements EntryPoint { 
    final Button MyButton = new Button("text"); 
     : 
     : 
    void onClickMyButton(???) { 
      ... stuff ... 
    } 
     : 
     : 
} 

對於「我」,這種結構更容易閱讀,只是我的編碼風格偏好。但我不知道如何實施它。

我正在將Eclipse和GWT用於Java Web App。任何幫助,將不勝感激。

回答

1

要麼

public class myClass implements EntryPoint, ClickHandler { 
    final Button myButton = new Button("text"); 
     : 
     : 
    myButton.addClickHandler(this); 


    @Override 
    void onClick(ClickEvent event) { 
      ... stuff ... 
    } 
} 

public class myClass implements EntryPoint { 
    final Button myButton = new Button("text"); 
     : 
     : 
    myButton.addClickHandler(new ClickHandler() { 
     public void onClick(ClickEvent event) { 
      onClickMyButton(event); 
     } 
    }); 

    private void onClickMyButton(ClickEvent event) { 
      ... stuff ... 
    } 
} 

第二個是更清潔,並允許處理多個按鈕與單獨的方法。

+0

我喜歡這兩個,但我有一個關於第一個問題。如果我有多個按鈕(比如3),如何確定哪個按鈕被擊中?或者是第二個答案來玩的地方? – Lee

+0

是的,第二個更清潔。在第一個中,你需要調用'event.getSource()'來知道哪個按鈕被點擊了(我猜,因爲沒有GWT的經驗) –

+0

還要注意,如果你使用UiBinder來構建你的視圖,你可以簡單地用'@UiHandler(「myButton」)'註釋該方法,假設'MyButton'已經用'@ UiField'註解了。 –