Lyra Resource Platform 文档 详细设计说明书
3.2 功能
负责接受用户输入,显示系统输出,其他模块功能的协调调用,并含有站内搜索功能,
即在用户指定的已打开的 ftp 站点中搜索用户需要的资源。
3.3 交互的模块
client,search,preview,common。
3.4 模块设计
该模块中的主要文件,文件中包含的主要类及其功能和与其它包的交互如下:
MainFrame.java:MainFrame 是含有主函数的类,也是 lyra 客户端开始执行的类,
它先后进行资源的初始化,显示主界面等工作,根据屏幕大小设置界面大小,设置界
面的观感。
FtpFrame_AboutBox.java:显示关于窗口的类,当用户点击帮助菜单中的关于菜
单项时会弹出关于对话框。
Tools.java:FileTools 是文件操作辅助类,可以实现文件的递归删除等。
XMLController.java: JDOMTes 是操作 xml 文件的类,用 JDOM 来操作 xml 文件,
实现的功能有:
(1)保存 ftp 服务器的文件列表(站内搜索时使用),递归的从 ftp 服务器读取列表,
并存入一个 xml 文件中(文件的命名方法是:ip+用户名.xml);以目录树的形式保存。
(2)根据文件名在文件中查找文件,站内搜索时使用。
(3)保存 ftp 服务器的信息:ip ,端口(默认端口 21 不保存),用户名(默认
anonymous 不保存),密码,最多存 10 个;存在 resource\settings\ serversinfor.xml 文件中。
(4)读取已存储的 ftp 服务器信息。
(5)从 type.xml 读取搜索的类型。
Constants.java:放置系统运行时使用的一些常量,initcontent()函数对所有常量进
行初始化,这个函数在 MainFrame 中被调用一次。iconHashMap 是 hash 表,用于存
放文件的系统图标。
CustomizedController.java:包含自定义的控件类,java 中的控件可能不能满足需求,
需要自己定义某些属性。这些控件会在创建界面时使用。其中含有的类有:
(1)CustomizedJTable 是表格类,设置表格的某些属性,如字体等。
(2)CustomizedTableCellRenderer 是表格单元格绘制器类,主要用于显示文件的系统图标,
和文件名。
(3)LeftPanel 类的父类是 JTabbedPane,用户显示主窗口左边的面板。
(4)RightPanel 类的父类是 JPanel,用户显示右边的主题部分,包括右上边的搜索及服务
器选项,和中间的显示服务器文件的 TabbedPane。.
(5)BottomPanel 类是右下放显示下载和服务器信息的 JTabbedPane。
(6)CustomizedJButton 是定义按钮类,更改了按钮的字体,java 本身默认的字体不好看。
(7)CustomizedTableModel 是表格类,实现单元格的不可编辑。
( 8 ) CustomizedTableCellRenderer_Remote 类 是 表 格 绘 制 器 , 在 远 程 文 件 浏 览 器
RemoteFilesPanel 使用,用于显示文件名和文件图标。
(9)FontTableCellRenderer 类是表格单元格绘制器,主要功能是设置字体。
(10)FontListCellRenderer 类是下拉列表框单元格绘制器,主要用于设置字体。
(11)CustomizedJLabel 类是自定义标签类,重新设置了标签的字体。
(12)CustomizedJTextField 类是自定义文本框类,主要用于设置文本框的显示属性。
(13)CustomizedJMenu 类是自定义菜单类,重新设置了菜单的字体。
(14)CustomizedJMenuItem 类是自定义菜单项类,重新设置了菜单的字体。