在此练习中,将对应用程序进行编程以删除职员记录。以下列表描述了想要应用程序使用的行为:
要添加此行为,完成此练习中概括的下列步骤:
要对删除按钮进行编程以启用或禁用它,将侦听器添加至表,该表在选择了行时会启用该按钮:
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 列。
绑定是按钮以对 Web Service 调用 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) {} });
此事件代码会在执行绑定程序的操作之后隐藏“确认删除”对话框。
现在,当运行应用程序时,可以在表中选择职员,单击删除按钮,然后单击是以确认删除。将从目录中除去职员记录,并且职员的列表中将反映该操作。