有四種方式來實作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 class4.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。
沒有留言:
張貼留言