2

カスタム コマンドの execute() メソッド内で InputDialog を開こうとしています。次のようになります。

public class MyCommand extends CompoundCommand{
   ...
   execute(){
      try {
         ...
         super.execute();
      }catch(Exception e){
         InputDialog myDialog = ...
         myDialog.open();
         ...
         super.execute();
      }
   }
}

正常に動作しますが、いくつかの例外がスローされます。これらは:

org.eclipse.core.commands.ExecutionException: While executing the operation, 
an exception occurred

によって引き起こされる

java.lang.IllegalStateException: Cannot open an operation while one 
is already open

EMF プロジェクトで ItemProvider の createSetCommand() メソッドをオーバーライドしています。入力ダイアログは、ユーザーが間違った値を入力した場合に有効な値を取得するために必要です。

KanAfghan さん、事前にたくさんの感謝を

4

1 に答える 1

0

このアプローチは正しい方法ではないため、上記とはまったく異なるアプローチを使用しました。

于 2013-02-11T16:13:36.793 に答える