이 연습에서는 직원 레코드를 삭제하도록 응용프로그램을 프로그래밍합니다. 이 응용프로그램을 사용하여 다음을 수행할 수 있습니다.
위 작동을 실행하려면 다음 단계를 수행하십시오.
삭제 단추가 사용 가능 또는 사용 불가능하게 되도록 프로그래밍하려면 행을 선택할 때 단추를 사용 가능하게 하는 리스너를 테이블에 추가하십시오.
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;이제 테이블에서 행을 선택하면 삭제 단추가 사용 가능하게 됩니다.
actionPerformed 이벤트를 삭제 단추에 추가하고 삭제 확인 대화 상자가 열리도록 이벤트를 프로그래밍하십시오.
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); } });
삭제할 직원의 이름을 표시하려면 삭제 확인 대화 상자의 텍스트 필드를 바인드하십시오.
이제 텍스트 필드가 employeesTable에서 선택된 행의 firstName 열에 바인드되었습니다.
웹 서비스에서 removeEmployee(java.lang.Integer) 메소드를 호출하도록 예 단추를 바인드하십시오.
이 구성요소 상태는 예 단추가 항상 사용 가능함을 의미합니다. 그 상태를 변경할 필요가 없기 때문입니다.
이 단계에서는 예 단추의 바인더(예 단추 자체가 아님)에 이벤트를 추가합니다. 직원이 제거된 후, 즉 바인더가 데이터 소스에 대해 서비스를 성공적으로 호출한 후 삭제 확인 대화 상자가 닫히도록 하려고 합니다.
바인더가 조치를 완료한 후 삭제 확인 대화 상자를 숨기도록 예 단추의 바인더에 이벤트를 추가하십시오.
참고: 현재 단추 자체가 아닌 단추 바인더에 이벤트를 추가하고 있는지 확인하십시오.
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) {} });
이 이벤트 코드는 바인더의 조치가 수행된 후 삭제 확인 대화 상자를 숨깁니다.
이제 테이블에서 직원을 선택할 수 있는 응용프로그램을 실행할 때 삭제 단추를 클릭하고 예를 클릭하여 삭제를 확인할 수 있습니다. 그러면 직원 레코드가 디렉토리에서 제거되고 직원 목록에 제거가 반영됩니다.