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:
Para programar o botão Excluir para ser ativado ou desativado, inclua um listener na tabela, ativando o botão ao selecionar uma linha:
employeesTable = new JTable();
employeesTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { getDeleteButton().setEnabled(getEmployeesTable().getSelectedRowCount() != 0); } });
import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener;Agora, ao selecionar uma linha na tabela, o botão Excluir é ativado.
Inclua um evento actionPerformed no botão Excluir e programe o evento para abrir a caixa de diálogo Confirmar Exclusão:
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() } });
deleteButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { getConfirmDialog().setVisible(true); } });
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:
Agora o campo de texto está ligado à coluna firstName da linha selecionada na employeesTable.
Ligue o botão Sim para chamar o método removeEmployee(java.lang.Integer) no serviço da Web:
Esse estado do componente significa que o botão Sim estará sempre ativado, visto que não há necessidade de alterar o estado.
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:
Importante: Você está incluindo um evento ao binder do botão, não ao botão em si.
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) {} });
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: .