Antes de iniciar este exercício, é necessário concluir o .

Neste exercício, você programará o aplicativo para excluir um registro de funcionário. A lista a seguir descreve o comportamento que deseja que o aplicativo utilize:

Para incluir esse comportamento, conclua as seguintes etapas destacadas neste exercício:

  1. Programar o botão Excluir para ser ativado ou desativo dependendo da seleção de uma linha na tabela
  2. Programar a caixa de diálogo Confirmar Exclusão para abrir ao clicar em Excluir
  3. Ligar o campo de texto na caixa de diálogo Confirmar Exclusão
  4. Ligar o botão Sim para executar a exclusão
  5. Incluir um evento para ocultar o diálogo Confirmar Exclusão após excluir o funcionário

1. Programar o Botão Excluir para ser Ativado ou Desativado Dependendo da Seleção de uma Linha na Tabela

Para programar o botão Excluir para ser ativado ou desativado, inclua um listener na tabela, ativando o botão ao selecionar uma linha:

  1. Selecione a employeesTable na visualização Java Beans. A exibição de origem destaca a seguinte linha:
    employeesTable = new JTable();
  2. Imediatamente após esta linha, inclua um novo evento ListSelectionListener e valueChanged em employeesTable:
    employeesTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
    	public void valueChanged(ListSelectionEvent e) {
    		getDeleteButton().setEnabled(getEmployeesTable().getSelectedRowCount() != 0);
    	}
    });

  3. Após incluir estas linhas de código, o editor de origem marca-as como erros até que você importe ListSelectListener e ListSelectionEvent. Para incluir as importações requeridas, clique em Origem > Organizar Importações no menu principal. As linhas a seguir estão incluídas na seção de importações da classe:
    import javax.swing.event.ListSelectionEvent;
    import javax.swing.event.ListSelectionListener;
    Agora, ao selecionar uma linha na tabela, o botão Excluir é ativado.

2. Programar a Caixa de Diálogo Confirmar Exclusão para Abrir ao Clicar em Excluir

Inclua um evento actionPerformed no botão Excluir e programe o evento para abrir a caixa de diálogo Confirmar Exclusão:

  1. Clique com o botão direito no botão Excluir e selecione Eventos > actionPerformed. As linhas de código a seguir são incluídas no método getDeleteButton():
    deleteButton.addActionListener(new java.awt.event.ActionListener() {
    	public void actionPerformed(java.awt.event.ActionEvent e) {
    		System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
    	}
    });
  2. Altere este código gerado para o seguinte texto, o que define a caixa de diálogo Confirmar Exclusão para ficar visível quando o botão for clicado:
    deleteButton.addActionListener(new java.awt.event.ActionListener() {
    	public void actionPerformed(java.awt.event.ActionEvent e) {
    		getConfirmDialog().setVisible(true);
    	}
    });

3. Ligar o Campo de Texto na Caixa de Diálogo Confirmar Exclusão

Ligue o campo de texto na caixa de diálogo Confirmar Exclusão para exibir o primeiro nome do funcionário a ser excluído:

  1. Na visualização Java Beans ou na área de design, selecione o campo de texto employeeToDeleteField e clique na guia Ligação.

    Caixa de Diálogo Confirmar Exclusão Antes da Ligação

  2. Na caixa de diálogo Ligações de Dados do Campo, selecione o objeto de dados selectedEmployeeRecord e o campo firstName e, em seguida, clique em OK.

    Agora o campo de texto está ligado à coluna firstName da linha selecionada na employeesTable.

    Caixa de Diálogo Confirmar Exclusão Após a Ligação

  3. Para certificar-se de que este campo é de leitura, defina a propriedade autoEditable para o binder do campo como false.

4. Ligar o Botão Sim para Executar a Exclusão

Ligue o botão Sim para chamar o método removeEmployee(java.lang.Integer) no serviço da Web:

  1. Selecione o botão Sim e clique na guia Ligação para abrir o diálogo Ligações de Ações do Componente.
  2. Clique em OK.

5. Incluir um Evento para Ocultar o Diálogo Confirmar Exclusão após Excluir o Funcionário

Nesta etapa, você inclui um evento ao binder do botão Sim (não ao botão Sim em sei). Você deseja que a caixa de diálogo Confirmar Exclusão feche após remover o funcionário, o que significa após o binder ter chamado com êxito o serviço na origem de dados.

Inclua um evento ao binder para o botão Sim para ocultar a caixa de diálogo Confirmar Exclusão após o binder concluir a ação:

  1. Selecione o botão Sim.
  2. Clique com o botão direito no ícone do binder para o botão Sim e selecione Eventos > Incluir Eventos.

    Importante: Você está incluindo um evento ao binder do botão, não ao botão em si.

  3. Expanda o nó actionBinder e selecione afterActionPerformed.

    Caixa de Diálogo Incluir Evento para o Binder do Botão Sim

  4. Clique em Concluir. O stub de evento a seguir é incluído ao método getRemoveEmployeeAction():
    removeEmployeeAction.addActionBinderListener(new jve.generated.IActionBinder.ActionBinderListener() {
    	public void afterActionPerformed(jve.generated.IActionBinder.ActionBinderEvent e) {
    		System.out.println("afterActionPerformed()"); // TODO Auto-generated Event stub afterActionPerformed()
    	}
    	public void beforeActionPerformed(jve.generated.IActionBinder.ActionBinderEvent e) {}
    });
  5. Altere o código gerado para o seguinte texto:
    removeEmployeeAction.addActionBinderListener(new jve.generated.IActionBinder.ActionBinderListener() {
    	public void afterActionPerformed(jve.generated.IActionBinder.ActionBinderEvent e) {
    		getConfirmDialog().setVisible(false);
    	}
    	public void beforeActionPerformed(jve.generated.IActionBinder.ActionBinderEvent e) {}
    });

    Este código de evento oculta a caixa de diálogo Confirmar Exclusão após executar a ação do binder.

Agora, ao executar o aplicativo, é possível selecionar um funcionário na tabela, clicar no botão Excluir e, em seguida, clicar em Sim para confirmar a exclusão. O registro do funcionário será removido do diretório e a lista de funcionários refletirá a remoção.

Agora você está pronto para seguir para o próximo exercício: .

Termos de uso | Feedback
(C) Copyright IBM Corporation 2000, 2005. Todos os Direitos Reservados.