カスタム コマンドの 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 さん、事前にたくさんの感謝を