在开始此练习之前,必须完成

在此练习中,将对应用程序进行编程以删除职员记录。以下列表描述了想要应用程序使用的行为:

要添加此行为,完成此练习中概括的下列步骤:

  1. 根据是否在表中选择了行,对“删除”按钮进行编程以启用或禁用它
  2. 对“确认删除”对话框进行编程以在单击“删除”时打开它
  3. 绑定“确认删除”对话框中的文本字段
  4. 绑定“是”按钮以执行删除
  5. 添加事件以在删除职员之后隐藏“确认删除”对话框

1. 根据是否在表中选择了行,对“删除”按钮进行编程以启用或禁用它

要对删除按钮进行编程以启用或禁用它,将侦听器添加至表,该表在选择了行时会启用该按钮:

  1. 在 Java Bean 视图中选择 employeesTable。“源代码”视图会突出显示下面这行:
    employeesTable = new JTable();
  2. 紧接此行,将新的 ListSelectionListener 和 valueChanged 事件添加至 employeesTable:
    employeesTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
    	public void valueChanged(ListSelectionEvent e) {
    		getDeleteButton().setEnabled(getEmployeesTable().getSelectedRowCount() != 0);
    	}
    });

  3. 在添加这些代码行之后,源代码编辑器会将它们标记为错误,直到导入 ListSelectListener 和 ListSelectionEvent 为止。要添加必需的导入,在主菜单上单击源代码 > 组织导入。下列各行会添加至类的导入部分:
    import javax.swing.event.ListSelectionEvent;
    import javax.swing.event.ListSelectionListener;
    现在,当选择表中的某行时,会启用删除按钮。

2. 对“确认删除”对话框进行编程以在单击“删除”时打开它

将 actionPerformed 事件添加至删除按钮并对该事件进行编程以打开“确认删除”对话框:

  1. 右键单击删除按钮并选择事件 > actionPerformed。下列代码行会添加至 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. 将此生成的代码更改为下面的文本,这样将设置为当单击该按钮时出现“确认删除”对话框:
    deleteButton.addActionListener(new java.awt.event.ActionListener() { 
    	public void actionPerformed(java.awt.event.ActionEvent e) {
    		getConfirmDialog().setVisible(true);
    	}
    });

3. 绑定“确认删除”对话框中的文本字段

绑定“确认删除”对话框中的文本字段以显示要删除的职员的名:

  1. 在 Java Bean 视图或设计区域上,选择 employeeToDeleteField 文本字段并单击绑定选项卡。

    绑定之前的“确认删除”对话框

  2. 在“字段数据绑定”对话框中,选择 selectedEmployeeRecord 数据对象和 firstName 字段,然后单击确定

    现在,文本字段已绑定至 employeesTable 中选择的行的 firstName 列。

    绑定之后的“确认删除”对话框

  3. 要确保此字段是只读的,将该字段的绑定程序的 autoEditable 属性设置为 false

4. 绑定“是”按钮以执行删除

绑定按钮以对 Web Service 调用 removeEmployee(java.lang.Integer) 方法:

  1. 选择按钮,然后单击绑定选项卡以打开“组件操作绑定”对话框。
  2. 单击确定

5. 添加事件以在删除职员之后隐藏“确认删除”对话框

在此步骤中,将事件添加至按钮的绑定程序(而不是按钮本身)。您想要在除去职员之后关闭“确认删除”对话框,这意味着绑定程序已成功地对数据源调用服务。

将事件添加至按钮的绑定程序,以在绑定程序完成它的操作之后隐藏“确认删除”对话框:

  1. 选择按钮。
  2. 右键单击按钮的绑定程序图标并选择事件 > 添加事件

    要点:要将事件添加至该按钮的绑定程序而不是该按钮本身。

  3. 展开 actionBinder 节点并选择 afterActionPerformed

    “是”按钮绑定程序的“添加事件”对话框

  4. 单击完成。以下事件存根会添加至 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. 将生成的代码更改为以下文本:
    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) {} 
    });

    此事件代码会在执行绑定程序的操作之后隐藏“确认删除”对话框。

现在,当运行应用程序时,可以在表中选择职员,单击删除按钮,然后单击以确认删除。将从目录中除去职员记录,并且职员的列表中将反映该操作。

现在,可以开始进行下一个练习:

使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.