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