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

2.3 主窗体设计

2.3.1 主窗体模块概述

系统的主窗体是直接展示给用户的,主窗体的布局将直接决定用户对程序的第一印象。FTP文件管理系统的主窗体主要由菜单栏、连接模块、窗口的主体部分和状态模块组成。窗口的主体部分又由本地文件模块与 FTP 服务器文件模块组成,当用户执行上传或下载命令时在状态模块中显示文件执行的进度,如图2.9所示。

figure_0058_0124

图2.9 主窗体模块

2.3.2 主窗体技术分析

为了让Java创建的图形界面也能够跨平台,即在相同的操作系统中保持相同的外观,从JDK1.2版本开始引入了Swing组件,这些Swing组件位于javax.swing包中,多数Swing组件的父类为javax.swing.JComponent。

JComponent为几乎所有的Swing组件提供下层构件,因此,它是一个很大的类,包括100多个public方法。JComponent为它的扩展提供了很多功能,如边框、自动滚动、可访问性、工具提示、双缓存、键击处理、调试图形、客户属性等。

主窗体模块主要用到Swing组件、事件监听及布局管理器的相关知识点。首先构建一个面板,其次向面板中加入一些细节,比如按钮、菜单、文本组件等,当用户对相关的按钮进行触发,就会执行相应的按钮事件。例如:向文本组件对象添加一个键盘监听器,按回车键将会触发keyPressed()方法,代码如下:

figure_0059_0125

figure_0031_0031 Java语言中定义了布局管理器的概念,通过布局管理器使各组件定位。常用到的有流布局管理器( Flow Layout Manager)边界布局管理器( Border Layout Manager)。

2.3.3 主窗体实现过程

1.创建主窗体

创建类FTP_Client_Frame,该类继承JFrame类。定义一个FTP_Client_Frame类的构造方法,在方法内部调用 initComponents()方法。在 initComponents()方法内部使用 add()方法在窗体中添加菜单栏、登录面板、本地与服务器面板、传输队列面板,进行初始化主窗体的工作。关键代码如下:

figure_0059_0127
figure_0060_0128
2.定义组件的事件处理方法

窗体创建完成后调用窗体的事件处理方法,其方法内部调用了 LocalPanel 类的getLocalDiskComboBox()方法,该方法实现了在本地面板中显示本地磁盘中的文件。关键代码如下:

figure_0060_0129

主窗体模块中由主机地址、用户名、密码、匿名单选框、连接按钮等组成了一个登录面板。每个组件有相对应的事件处理方法。关键代码如下:

figure_0060_0130
figure_0061_0131

定义一个linkButtonActionPerformed方法用于处理单击连接按钮产生的事件。该方法调用ftpClient类,ftpClient继承了FtpClient类。FtpClient中定义了sendServer()方法向服务器发送命令连接服务器。关键代码如下: jSpVvdnjlJYSVFao5MekiXjIv1AYUkdD3JxiLfl+DQ5sF+A6fm4fFj0P8zHFieVw

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