0

私は現在、GWT を使用して NAO ロボット用のリモートを設計しており、ボタンの想定されるメソッドを RPC 経由で実行するためのベスト プラクティスを探しています。現在、event.getSource() のタイトルでボタン名を確認しています。しかし、これは膨大な量の if else ステートメントをもたらします。どうすればきれいにきれいにできますか?;)

4

2 に答える 2

1

適切な名前のメソッドといくつかのメソッド リフレクションを使用できます。

次の名前のボタンがあるとしましょう: action1 action2 action3

これがローカルの場合は、それぞれに異なるリスナーを追加できます。そのリモートと私はあなたが名前しか得られないことを理解しています.

リモート impl クラスで、次のメソッドを呼び出します。

doAction1 doAction2 doAction3

そして、リモート呼び出しを取得する場所で、名前を見て、init 文字を大文字にし、do を追加してからメソッドを取得します。メソッドを Map に名前でキャッシュすることもできます

地図

メソッドを取得したら、1 つのインスタンス ワーカーでそれを呼び出します

于 2013-04-12T12:13:01.533 に答える
1

Button コンストラクターで設定した列挙型または整数を識別子として使用できます。次に、サーバー側で、switch case ステートメントを使用してコード行をいくつか保存できます。

  public enum MyButtons {
  WALK,
  SIT,
   ...
   }
[...]
 //ON CLIENT
 Button whatever = new Button(MyButtons.WALK);

 //ON SERVER
 MyButtons action = whatever.getType(); 
// getType() should provide the value from the constructor


 switch(action)
   {
    case WALK : doStuff();
    case SIT : doStuff();
     ...
   }
于 2013-04-12T14:13:19.300 に答える