Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. o step;
  2. o wizard;
  3. o history;

O Step (Passo)

O desenvolvedor deve implementar subclasses dessa classe para Conforme descrito anteriormente, a parametrização do assistente é dividida em passos. O conceito de passo é fundamental para o programador e se manifesta, no código, em objetos cuja classe implementa seu comportamento lógico e visual. Em outras palavras, o desenvolvedor deve implementar subclasses de Step para cada passo do seu wizard.

...

Tip

Não execute ações que provoquem efeitos que alterem o estado do sistema fora do método confirm().

Observe que você pode executar qualquer tipo de ação com a intenção de obter dados, como acessar a rede, banco de dados, etc nos diversos métodos do step. A ideia do wizard é coletar informações passo a passo e executar as operações apenas no confirm(). E, para isso, o confirm() recebe o history como parâmetro.

Lembre-se que passos intermediários podem ter confirm(). E o confirm() não fecha o wizard!

O Wizard (Assistente)

É quem tem o controle de tudo. O Este conceito modela o assistente como um todo e é suportado pela classe Wizard.

O assistente é implementado com objetos (da classe Wizard) que controlam todo o seu funcionamento. O wizard sempre possui um passo corrente e chama os métodos nesse desse passo corrente em momentos específicos. A construção do wizard é feita, pela aplicação, com a montagem dos diversos passos (steps) que representam a sequência de interações desejadas.

...

Code Block
languagejava
linenumberstrue
class MyWizardMyWizardFrame extends JFrame {
 
 private Wizard wizard;
 
 private MyWizardMyWizardFrame() {
    super("Título do Wizard");
    this.wizard = buildWizard(); 
    
    this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    this.getContentPane().add(wizard);
    this.pack();
  }
 
  private Wizard buildWizard() {
    // Montagem dos passos (steps) do assistente.
    Wizard wiz = new Wizard(...);
    (...)
    return wiz;
  }
 
  // Main
  public static void main(String[] args) {
    MyWizardMyWizardFrame frame = new MyWizardMyWizardFrame();
    frame.setVisible(true);
  }
}

...

P: É razoável fazer passos com efeito colateral?

R: Normalmente, 

 

 

Créditos

Originalmente, o pacote foi escrito dor Leandro Moreira Pinto e Rodrigo Carneiro. Ao longo de alguns anos, o código evoluiu conforme a necessidade de manutenção do grupo de sistemas distribuídos.

...