基于NetBeans的Java EE客户端应用程序(二)

来源:互联网 发布:文泰软件 编辑:程序博客网 时间:2024/05/03 20:21

创建会话 Bean

我们需要创建无状态的会话 bean,它带有与持久单元进行通信的远程接口。创建一个这样的会话 bean,并将其命名为 DataBean

向所创建的会话 bean 添加名为 getData 的业务方法。可以通过右键单击 editor 窗体(在已打开的 DataBean.java 文件中)并选择 EJB Methods -> Add Business Method 来实现添加操作。按照向导进行操作并创建返回 java.util.List getData 方法。

现在使用实体管理器。再次右键单击 editor 窗格并选择 Persistence -> Use Entity Manager。将生成实体管理器代码。接着实现 getData 方法。

    public List getData() {
        //TODO implement getData
        return em.createQuery("SELECT c FROM Customer c").getResultList();
    }

这样,编辑器(在 DataBean.java 文件中)中应包含以下内容。

修改应用程序客户端

已经准备好了 EJB 模块,现在必须在 dbreader-ear-app-client 应用程序客户端模块中实现功能。打开 dbreader-ear-app-client 项目中的 Main.java 文件。

下面将调用会话 bean DataBean。右键单击 editor 面板并选择 Enterprise Resources -> Call Enterprise Bean。在对话框中选择 DataBean 并单击 OK

接着需要实现 main 方法并创建 getCustomers 方法。在此之前要在类路径上添加 <dbreader_project_home>/build/jnlp/netbeans/boot.jar 文件。可以通过右键单击 dbreader-ear-app-client 项目并选择 Properties 来实现该操作。在那里选择 Libraries,然后单击 Add JAR/Folder 并在 open file 对话框中选择 boot.jar 文件。不要忘记取消选中复选框。我们不希望将该文件与 dbreader-ear-app-client 模块打包。实际上必须在 dbreader 套件上运行 build-jnlp 目标。在此之前,请执行设置套件步骤。然后可以右键单击 dbreader 项目并选择 Build JNLP Application

通过以下代码来实现 main 方法。

    public static void main(String[] args) {
        try {
            String userDir = System.getProperty("user.home") + File.separator + ".dbreader";
            org.netbeans.Main.main(new String[] {"--branding", "dbreader", "--userdir", userDir});
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

下面将创建 getCustomers 静态方法。

    public static List getCustomers() {
        return dataBean.getData();
    }

在此之后,editor 面板中的内容应类似于以下内容。

非常好!我们已经完成了 dbreader-ear 企业应用程序的开发。我们将转到NetBeans 模块的开发。.

NetBeans 模块开发

设置套件

现在我们将设置 dbreader NetBeans 模块套件。必须将其设置为独立应用程序,并且可以更改启动画面。右键单击 dbreader 项目并选择 Properties。在那里选择 Application,然后单击 Create Standalone Application

您也可以设置自己的启动屏幕。使用相同的方法进行设置,在 Properties Application 节点下单击 Splash Screen

设置模块

现在我们将设置 NetBeans 模块 customers。必须在编译类路径上添加 dbreader-ear-ejb.jardbreader-ear-app-client.jar javaee.jar。首先将模块的资源级别设置为 1.5。右键单击 customers 项目,并在第一个面板上选择 1.5 作为资源级别。

project 选项卡打开 project.properties 文件。

将以下代码添加到 project.properties 文件中。当然,要使用自己的 dbreader 路径和 glassfish 路径。

cp.extra=/
/home/marigan/temp/dbreader/dbreader-ear/dbreader-ear-ejb/dist/dbreader-ear-ejb.jar:/
/home/marigan/temp/dbreader/dbreader-ear/dbreader-ear-app-client/dist/dbreader-ear-app-client.jar:/
/home/marigan/apps/glassfish/lib/javaee.jar

这样,editor 面板中应包含以下内容。

创建 Window 组件

现在我们将创建新的 window 组件作为数据库数据的查看器。右键单击 customers 项目并选择 New -> Window Component。在一个向导面板上选择 editor 作为 Window Position 并选中 Open on Application Start

在第二个向导面板上指定组件的类名前缀(这里使用 Customers 作为 Class Name Prefix),并完成向导。

这样,Project 选项卡中应包含以下内容。

编写 Customers 顶部组件逻辑

必须为 customers 顶部组件编写应用程序逻辑。在 design 模式下打开 CustomersTopComponent.java 文件,然后将 jTable 组件从面板拖放到该文件中。

接着切换到 source 视图,修改 constructor 并添加 initData 方法。

    private CustomersTopComponent() {
        initComponents();
        setName(NbBundle.getMessage(CustomersTopComponent.class, "CTL_CustomersTopComponent"));
        setToolTipText(NbBundle.getMessage(CustomersTopComponent.class, "HINT_CustomersTopComponent"));
//        setIcon(Utilities.loadImage(ICON_PATH, true));
        
        initData();
    }
    
    private void initData() {
        List<Customer> data = Main.getCustomers();
        
        Object[][] rows = new Object[data.size()][3];
        int i = 0;
        
        for (Customer c : data) {
            rows[i][0] = c.getName();
            rows[i][1] = c.getEmail();
            rows[i++][2] = c.getPhone();
        }
        
        Object[] colums = new Object[] {"Name", "E-mail", "Phone"};
        
        jTable1.setModel(new DefaultTableModel(rows, colums));
    }

这样,应看到以下内容。

运行应用程序

太棒了!已完成所有事情。现在您可以运行应用程序了。右键单击 dbreader-ear 项目并选择 Run Project。等待进行构建并启动 glassfish。享受您的应用程序吧 :o)

 
原创粉丝点击