购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.4 FTP站点管理模块设计

2.4.1 FTP站点管理模块概述

站点管理模块如同一个钥匙环,每个服务器的站点信息就如同一把钥匙,只有使用相对应的用户名和密码才能进入相应的服务器站点。整个模块的中心就是配置服务器的地址、端口号及用户名。用户通过密码进行身份验证,身份验证成功后即可进行接下来的文件管理操作,如图2.10所示。

figure_0062_0133

图2.10 FTP站点管理模块

2.4.2 FTP站点管理技术分析

1.InputStream类

InputStream类是表示字节输入流的所有类的超类,其常用的子类如表2.1所示。

表2.1 InputStream的子类

figure_0062_0134

本系统使用Properties类将FTP站点信息以属性文件的格式保存在本地磁盘中。这样就实现了FTP站点信息的持久化。代码如下:

figure_0062_0135
2.Enumeration<E>接口

实现 Enumeration接口的对象,它生成一系列元素,一次生成一个。Enumeration<E>接口常用的方法如表2.2所示。

表2.2 Enumeration<E>接口的常用方法

figure_0063_0136

本系统使用泛型将站点信息存储到列表组件数据模型DefaultListModel中,通过此模型创建列表组件JList,用于向用户显示站点信息。

figure_0063_0137

2.4.3 FTP站点管理模块实现过程

1.创建主窗体

创建一个类FtpSiteDialog,该类继承JDialog并实现了ActionListener接口。该类定义了初始化界面的方法创建主窗体,并且定义了事件处理方法对每个按钮进行监听,具体代码如下:

figure_0063_0138
figure_0064_0139
2.创建按钮监听器类

FtpSiteDialog类实现了ActionListener接口与事件处理方法。并且设置该类作为4个维护按钮的事件监听器。在actionPerformed()方法中分别定义了判断和执行4个按钮的方法。程序关键代码如下:

figure_0064_0140
figure_0065_0141
3.定义信息显示列表

在FTP站点管理对话框的左侧是站点信息列表,该列表显示了所有记录的站点名称,这个名称是用户自己定义的。这些名称是由列表组件数据模型中的站点信息对象提供的。程序关键代码如下:

figure_0065_0142
4.编写持久化类

编写 SiteInfoBean 类,也就是站点信息的 JavaBean ,该类在装载站点数据的loadSiteList()方法和其他站点维护方法中广泛使用,它在这里用于存储FTP站点的名称、地址、用户名和端口号等信息,另外还重写了 toString()方法,该方法在将一个对象转换为字符串类型时被调用。程序关键代码如下:

figure_0065_0143
figure_0066_0144
5.按钮事件的处理方法

在 FTP 站点列表组件中选择某个站点名称,然后单击右侧的“连接”按钮,可以将该 FTP 站点的信息添加到主窗体的登录面板中,然后在登录面板输入密码就可以连接对应的 FTP 服务器了。“连接”按钮的事件处理方法将调用主窗体的 setLinkInfo()方法传递站点信息到登录面板中。程序关键代码如下:

figure_0066_0145
figure_0067_0146

“添加”和“编辑”按钮的事件处理方法定义了显示不同的对话框,通过对话框完成相应的操作。这两个对话框中都包含“确定”和“重置”按钮,这两个按钮要根据不同的对话框类型,判断执行的操作,例如单击“确定”按钮时要判断应该执行站点的添加操作,还是应该执行修改操作。程序关键代码如下:

figure_0067_0147

编写“删除”按钮的事件处理方法。该事件处理方法将根据 bean 参数从属性集合中删除指定编号的站点信息。程序关键代码如下: WE1u3gKClnANhFDvNhdIU3HO85MxbSp74KpkTGiPSelnd8OXl3pgp1kfJ+sZwDza

figure_0068_0148
点击中间区域
呼出菜单
上一章
目录
下一章
×