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

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

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

  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, 2004. All Rights Reserved.