有四種方式來實作UI介面與事件觸發處理的關係
1.handler獨立成一個class,這樣會多很多class file不好review code和維護。
public class GwtEvents implements EntryPoint {
...
public void onModuleLoad() {
textfield = new TextBox();
textfield.addKeyUpHandler(new MyHandler(this));
...
}//end onModuleLoad
}//end class
public class MyHandler implements KeyUpHandler {
...
public void onKeyUp(KeyUpEvent event) {
...
}
}//end class
2.直接實作handler
public class GwtEvents implements EntryPoint, KeyUpHandler {
...
public void onModuleLoad() {
textfield = new TextBox();
textfield.addKeyUpHandler(this);
...
}
public void onKeyUp(KeyUpEvent event) {
...
}
}//end class
3. (Named)Inner class
public class GwtEvents implements EntryPoint {
public void onModuleLoad() {
textfield = new TextBox();
textfield.addKeyUpHandler(new MyHandler());
private class MyHandler implements KeyUpHandler {
public void onKeyUp(KeyUpEvent event) {
...
}
}//end onModuleLoad
}//end class
4.Anonymous inner classes public class GwtEvents implements EntryPoint {
...
public void onModuleLoad() {
textfield = new TextBox();
textfield.addKeyUpHandler(new KeyUpHandler() {
@Override
public void onKeyUp(KeyUpEvent event) {
...
}
});
}//end onModuleLoad
}//end class
請依情況選擇2、3的作法,避免用方法4。
沒有留言:
張貼留言