Pergunta

Estou tentando abrir um InputDialog dentro do método Execute () de um comando personalizado. Parece o seguinte:

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

Funciona bem, mas lança algumas exceções. Estes são:

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

que é causado por

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

Estou substituindo o método createsetCommand () de um ItemProvider no meu projeto EMF. A caixa de diálogo de entrada é necessária para obter o valor válido do usuário, caso ele inserisse um valor errado.

Obrigado muito antes, kanafghan

Foi útil?

Solução

Usei uma abordagem totalmente diferente da apresentada acima, pois essa abordagem não é a maneira correta de fazê -la.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top