图2.11 本地模块
本地模块主要的功能是映射本地文件并显示在面板上。用户可以对本地的文件进行新建、上传、删除、重命名、刷新等操作。比如选取文件后单击“上传”按钮,文件将会被传到远程服务器中,如图2.11所示。
File类位于Java.io类包中,它提供了多种获取文件属性的方法,例如获取文件的名称、路径和大小等。这些方法如表2.3所示。
表2.3 File类常用方法说明
要呈现本地磁盘文件,首先需要编写读取本地文件信息并添加到表格组件中的listLocalFiles()方法,该方法调用java.util.File类的各种方法获取文件列表、文件名称、大小和最后修改日期等信息,然后添加到表格组件中。程序关键代码如下:
编写处理选择磁盘的下拉选择框事件处理方法,这个方法将被下拉选择框的事件监听器调用。它主要用于选择指定的磁盘,然后调用 listLocalFiles()方法显示该磁盘的文件列表,程序关键代码如下:
该方法在双击表格组件时由表格组件的事件监听器调用。它主要用于判断用户双击的是文件夹还是文件,如果双击的是文件夹,则显示文件夹中的文件列表,如果双击的是文件,则使用本地关联的程序打开双击的文件。程序关键代码如下:
将本地磁盘文件列表添加到表格组件之后,只能以文本字符串显示文件或文件夹,这就需要编写表格的渲染器来为表格组件添加显示图标的能力。本模块的FTPTableCellRanderer类继承DefaultTableCellRenderer类编写了本地模块和FTP模块公用的表格渲染器。该渲染器的核心是使用FileSystemView获取本地文件和文件夹的图标,同时还要为“.”和“..”两个选项添加默认图标。程序关键代码如下: