J2ME浏览器开发流程Word格式.docx
《J2ME浏览器开发流程Word格式.docx》由会员分享,可在线阅读,更多相关《J2ME浏览器开发流程Word格式.docx(6页珍藏版)》请在冰豆网上搜索。
1菜单栏模块内容包括文件菜单,转到菜单,调整菜单和收藏夹菜单。
主要是通过菜单栏的操作实现网页的前进,后退,停止,刷新和转到功能,还包括收藏夹的新建与整理。
2。
.工具栏的功能则是实现常用的操作,通过点击工具图标来实现菜单栏中所有的操作。
3.地址栏模块则用来接收用户输入的网站地址,然后将该地址传给浏览器组件,呈现指定的网页。
4.浏览器选项卡模块实现在同一个窗体中显示多个页面。
5.收藏夹模块是本设计中最重要的一部分,包括整理收藏夹菜单和添加收藏夹菜单,可在程序运行的过程中根据用户保存的内容,填充收藏夹的内容,且在网页浏览器重新启动的情况下依旧保留有上次保存的网页。
需求分析
本模块要实现的功能模块包括:
菜单栏模块,工具栏模块,地址栏模块,浏览器选项卡模块以及收藏夹模块。
1.菜单栏模块内容包括文件菜单,转到菜单,调整菜单和收藏夹菜单。
2.工具栏的功能则是实现常用的操作,通过点击工具图标来实现菜单栏中所有的操作。
3.2系统结构与设计分析
3.2.1响应模式
用户在地址栏输入一个URL,单击“转到”按钮,请求发出,浏览器内核进行读取识别,并通过特征提取模块进行特征比对,按照网页分类算法对网页类别库中的网页中符合的网页提取出来返回给用户。
图1响应模式
3.2.2结构分析
本模块设计的浏览器,有菜单栏,工具栏,地址栏,页面显示区,收藏夹。
它的主要特点有:
1基于IE内核,采用多窗口多线程工作方式,节约了系统资源,稳定性好,不会像那样因打开多窗口而使系统速度缓慢,甚至出现“程序没有相应“等现象。
2.对网页自动分类,这是它的特点。
当用户在浏览网页进入一个从未到过的网站时,很容易导致迷航,用户先阅读网页才能判定该网页是否是自己所感兴趣的网页。
这样,用户把大量时间和精力花费在不必要的网页上,分散了用户的注意力。
3.提供类别导航功能。
它将已分类的网站地址置入各类别中,用户可以根据自己感兴趣的主题进行访问和浏览。
类别的跟新,修改,添加等维护一般由系统进行,也可由用户自己手动维护。
系统可以根据类别的更改而自行调整系统的分类结果。
3.3功能结构图
以下是本模块的功能结构图:
图2功能结构
4.2菜单栏的实现
浏览器模块的菜单栏几乎容纳了所有功能的操作连接,它用于整个浏览器模块的导航,快速方便的执行浏览操作,例如前进,后退,刷新等。
4.2.1文件菜单
文件菜单包括”设置主页”,”打印”,”退出”3个菜单项,其中”设置主页”将用户输入的网址信息创建为URL对象。
如果创建URL对象时抛出异常,说明URL格式不标准,将以对话框的形式提示用户URL格式非法,当输入格式正确时,程序将URL对象序列化到收藏夹得数据文件中。
单击打印菜单时,将调用工具栏上”打印”按钮的doClick()方法,执行按钮的鼠标单击操作,程序会执行按钮的时间处理代码。
单击菜单栏的“退出”菜单项时,菜单项的事件监听器将调用业务方法完成退出命令。
在业务方法中执行了System类的exit()方法退出Java虚拟机,从而终止程序运行。
4.2.2转到菜单
转到菜单包含了浏览器的控制命令,这些命令包括”主页”,”前进””后退””停止””刷新”。
这些控制命令,在菜单栏中也提供了相应的操作按钮,为减少代码重复,本模块在这些菜单栏的事件处理中直接调用工具栏相应按钮的doClick()方法,执行按钮的业务代码。
4.2.3调整菜单
本模块的网页浏览器部分布置在一个选项卡组件中,选项卡的标签名称为网页的标题命名,这样用户可以创建多个选项卡浏览更多的网站。
4.3工具栏的实现
工具栏用于执行常用的操作,网页浏览器模块的控制命令使用最频繁,因此将浏览器的控制命令提取到工具栏中。
工具栏上的每个按钮都设置了文本提示,每个按钮都添加了单独的事件监听器,在不同的事件监听器中调用处理该按钮业务的方法。
编写各个按钮的事物处理方法,这些业务处理方法被不同按钮的事件监听器调用。
浏览器的控制按钮的业务逻辑,基本通过调用Browser浏览器组件的方法实现,例如print()方法可以执行打印任务,
4.4地址栏的实现
地址栏是网页浏览器的重要功能,它接收用户输入的将要访问的网站地址,然后将该地址传送给浏览器组件,呈现指定的网页内容。
网页浏览器模块的地址栏包含输入网站URL地址的文本框和一个执行浏览业务的“转到”按钮。
当用户在地址栏的地址文本框输入网站地址并单击右侧的“转到”按钮时,它下面的浏览器选项卡将创建一个新的选项卡,并在选项卡中放置一个浏览器组件显示新的网页内容。
4.5浏览器选项卡的实现
以前的浏览器都是单个窗体的软件,在每次需要同时浏览不同的网站或者在新窗口显示网页的情况下,都需要重新启动或弹出一个浏览器软件来显示指定的网页内容。
因此本模块使用浏览器面板作为所有浏览器组件的容器:
4.5.1继承扩展浏览器组件
由于网页的超级链接或JavaScript脚本可以在新的浏览器窗口中显示内容,而新建立的浏览器窗体会使用默认的浏览器打开网页,因此本模块必须继承WebBrowser类来编写自己的浏览器组件类Browser。
这样就可以重写父类的willOpenWindow()方法拦截弹出新窗体显示网页内容的事件,然后再该方法中使用自己的事件,在选项卡面板中创建浏览器组件显示网页。
4.5.2编写浏览器面板
将扩展的Browser浏览器组件封装在一个面板中实现浏览器面板,这个面板将被添加到存放浏览器的选项卡面板中.浏览器面板添加了Browser浏览器组件的实例对象,并且为浏览器组件添加了事件监听器。
4.5.3编写浏览器选项卡面板
本模块的选项卡面板用于存放浏览器组件,使浏览器支持选项卡界面创建选项卡时为面板添加鼠标单击事件,在用户单击选项卡的标签时执行业务方法。
另外,还设置了选项卡面板的模型对象,包括选项卡的选择事件的处理方法。
CreateBrowser()和getSelBrowser()方法分别用于在选项卡面板创建浏览器面板和获取当前选择的面板中的浏览器组件实例。
本模块使用JDIC类库来实现浏览器界面,该类库可以从
4.5.4编写浏览器组件监听器
在编写浏览器面板组件时,在面板中创建了浏览器组件,同时也为该组件添加了事件监听器。
4.6收藏夹的实现
收藏夹是浏览器不可缺少的功能,它记录上网时常用的,经典的网站地址。
4.6.1添加到收藏夹
在浏览器模块的主窗体上单击”收藏夹”/”添加到收藏夹”菜单项,将启动添加收藏夹功能,该功能能将当前浏览器访问的网站地址添加到收藏夹中,日后可以从收藏夹中直接选择浏览器指定的网址。
添加收藏夹功能的实现步骤如下:
1编写”添加到收藏夹”菜单项的业务代码,这个方法将有菜单项的事件监听调用,方法内部获取了选项卡面板当前的选项卡索引,然后使用所有获取选项卡的标题,使用该标题创建了”添加到收藏夹”对话框的实例,把其余的工作交由该对话框实现。
2在”添加到收藏夹”对话框中编写初始化收藏夹树组件的方法,该方法将在对话框的构造方法中被调用,它将调用loadMenu()方法添加收藏夹菜单的内容。
3编写装载收藏夹菜单内容的loadMenu()方法,该方法使用递归算法遍历收藏夹的数据集合对象,从这个集合对象中装载收藏夹的所有内容到”收藏夹”菜单中。
4编写”确定”按钮的业务处理方法,该方法在用户输入名称标识并单击按钮时被”确定”按钮的事件监听器调用,它将完成从读取用户输入名称标识到保存网站地址到收藏夹的全过程。
4.6.2整理收藏夹
整理收藏夹的实现比较复杂,它的树组件要显示的收藏夹内容包括文件夹和收藏的网址信息,而且可以对这些信息进行维护和移动操作。
其中包括”创建文件夹”,”重命名”,”删除”操作。
实现过程如下:
1编写”整理收藏夹”菜单项的业务处理方法,该方法将在单击该菜单时由菜单项的时间监听器调用,方法的实现非常简单,因为所有业务都由”整理收藏夹”对话框完成。
2编写”整理收藏夹”对话框的构造方法,在构造方法中分别调用初始化对话框界面的方法和初始化收藏夹树组件的方法。
3编写初始化树组件的方法,该方法将调用loadFavoriteNode()方法装载树节点内容,
4编写装载树组件节点内容的方法,该方法使用了递归方法,原因是要遍历的内容包括子节点的嵌套。
6编写”重命名”按钮的事件处理方法,作为维护操作重命名是必不可少的,特别是收藏夹中的文件夹。
如果没有重命名,则需要删除文件,重新建立;
如果文件夹中包含大量的收藏信息,会损失很多资源。
单击”重命名”按钮时,将在事件监听器中调用该方法完成命名操作。
7编写”删除”按钮的事件处理方法,该方法将在”删除”按钮的事件监听器中被调用。
8编写”移动到”按钮的事件处理方法,该方法用于移动收藏选项到其他文件夹中,其按钮的事件监听器将调用该方法。