JavaSwing之记事本制作

2016-01-07 02:10夏庆英
中小企业管理与科技·中旬刊 2015年12期
关键词:记事本制作

夏庆英

摘 要:记事本应用程序的制作在Java程序设计课程的教学中具有非常典型的示范作用,该案例的制作涵盖了图形用户界面、事件处理、文件读写、泛型等重要知识点,在现代高等学校职业教育的方式手段中,Java Swing之记事本制作是很好的任务驱动案例,所以,接下来首先从搭建图形用户界面环境入手,其次,介绍图形用户界面布局管理,以及常用组件的应用技巧,最后,实现文件的保存、打开、文本编辑等功能。

关键词:Java Swing;记事本;制作

1 环境搭建

1.1 准备工作

下载软件WB_v1.7.0_UpdateSite_for_Eclipse4.4。

1.2 更新软件

打开eclipse,找到帮助菜单下的安装新软件,按照提示向导将WB_v1.7.0_UpdateSite_for_Eclipse4.4安装到eclipse中,安装结束后需要重新启动eclipse。

1.3 使用环境

重新启动eclipse,新建Java 项目,命名为NotepadDemo。

2 界面布局

當一个窗口中的组件较多时,界面应该简洁整齐,布局合理。Java采用布局管理器对容器中的组件进行相对布局管理,当改变容器大小时,或者改变组件的大小,或者改变组件之间的相对位置,保证组件不会被遮盖并且容器没有空白区域。

Java提供多种风格和特点的布局管理器,每种布局管理器指定一种组件之间的相对位置。Java.awt布局管理器类主要有FlowLayout流、BorderLayout边、GridBagLayout网格包及GridLayout风格。

布局是容器类的特性,每种容器都有一种默认布局。Window容器类的默认布局是BorderLayout,如果一个容器需要改变其默认布局管理器,可以调用Container容器类的setLayout( )方法。本案例采用的布局管理器为内容网格默认的BorderLayout。

2.1 记事本之菜单制作

窗口菜单是相对于窗口的,它出现在窗口的标题栏下,总是与窗口同时出现。窗口菜单由JMenuBar菜单栏、JMenu菜单和JMenuItem菜单项等组件组成。窗口上添加菜单栏,菜单栏中添加菜单,菜单中添加菜单项或子菜单,这样形成了窗口菜单的多层结构。菜单栏添加在窗口上方,不受布局管理器控制。

记事本案例的菜单有文件和编辑两个,文件菜单对应的菜单项为新建、保存、打开、退出,编辑菜单对应的菜单项为撤销、剪切、复制、粘贴、恢复。

菜单项新建、保存、打开、退出、撤销、剪切、复制、粘贴、恢复对应的变量名为mnuItemNew、mnuItemSave、mnuItemOpen、mnuItemExit、mnuItemUndo、mnuItemCut、mnuItemCopy、mnuItemPaste、mnuItemRedo。

2.2 记事本之工具栏制作

添加工具栏对象组件,在其上添加字体选择列表框、设置文字大小列表框、颜色按钮组,以及字体样式复选框。颜色按钮组中具有红色、绿色、蓝色三个单选项,字体样式复选框包含粗体、斜体、下划线三个复选项。

2.3 记事本之编辑区制作

向内容网格中添加JTextArea文本域组件,再为文本域添加一个垂直滚动条。具体的操作如下:JTextAreatextArea=new JTextArea;

JScrollPane scroll=new JScrollPane(textArea);

getContentPane().add(textArea,BorderLayout.CENTER);

getContentPane().add(scroll);

3 关键技术之事件处理机制

所谓事件处理,通俗地说就是如何处理用户应用程序中的事件。而所谓事件,就是指像单击鼠标、键盘输入、单击菜单、文本区域内输入文本、单击按钮、单击复选框、单击列表框、单击单选按钮等组件,这些事件的发生必须要处理。处理之前一定要理解两个概念,什么是事件源和事件。事件就是指用户对组件发生的动作,例如,单击红色单选按钮后文本域内的文本颜色为红色,这个单击动作就是事件。事件源就是触发动作的组件,例如,前面提到的红色单选按钮就是事件源。事件处理,简单地说,就是用户对事件源进行操作,操作了事件源就产生了事件。接下来,就是用户触发事件源产生了事件,该如何处理这些事件呢?此时需要事件监听者,即系统接收到所产生的事件,然后根据这些事件作相应的处理。

事件类的种类很多,其中包括了动作事件(ActionEvent)、鼠标事件(MouseEvent)、焦点事件(FocusEvent)等。以菜单事件为例来说明事件处理的步骤及方法,首先,NotepadDemo要实现ActionListenter接口,并向该类中添加接口中的抽象方法public void actionPerformed(){},其次,对事件源(mnuItemSave等)添加事件侦听addActionListener(this),最后,对事件进行处理,完成对文件的保存功能等。

4 关键技术之文件读写

在计算机系统中,数据流具有方向性,对数据流的基本操作有读操作和写操作,但一个数据流只能进行读或写中的一种操作,即对输入数据流只能进行读操作,对输出数据流只能进行写操作。在Java中有字节流以字节为单位读/写和字符流以字符为单位读/写两种方式,在记事本的实例制作中文件读写的对象是文本,所以采用以字符为单位的读写方式。

①定义文件读写字符输入输出流,为提高读取效率流采用缓冲技术,即定义缓冲字符输入输出流,定义要保存或打开的文件对话框,定义打开或保存的文件对象,该对象要由文件对话框获得的路径和获得的文件名来确定。

②编写保存菜单和打开菜单的事件处理代码时要注意,在文件读写过程中的异常处理使用try-catch-finally语句来捕获和处理一个或多个异常。

③关闭所有的输入流和输出流。

猜你喜欢
记事本制作
做个树懒记事本
小狗记事本
《计算机应用基础》微课设计与制作实践
微课在高中英语教学中的应用初探
应用瀑布模型的MOOC制作方法
项目教学法在微电影制作教学中的应用
土拨鼠的记事本