当前位置:文档之家› 基于JAVA的记事本设计报告

基于JAVA的记事本设计报告

public void actionPerformed(ActionEvent e){
s=fw.text1.getText();
str=replaceText.getText();
end=fw.text1.getSelectionEnd();
start=fw.text1.getSelectionStart();
XX学校计算机系综合性实验
实 验 报 告
课程名称Java程序设计
实验学期至学年 第学期
学生所在系部计算机系
年级专业班级
学生姓名学号
任课教师
实验成绩
计算机系制
《Java程序设计》课程综合性实验报告
开课实验室:年月日
实验题目
简易写字板软件设计
一、实验目的
通过编写Java的应用系统综合实例——简易写字板软件,总结、回顾和实践面向对象的编程思想以及编程方法,并通过编写程序来掌握Java语言编程技巧,将学习到的知识融会贯通,同时提高调试程序的能力,养成良好的编程习惯,并增强对程序设计整体思路的把握。
4.其他功能设计。
四、实验结果及分析
(一)、图形界面如下图
(二)、设计思路及实现功能
创建了一个标题为“简易写字板”的窗体,其中包括菜单栏(菜单及菜单项)、工具栏,并能通过点击鼠标右键进行一些基本操作。
实现的功能:对文件的新建、打开、保存、另存、退出;对文本的剪切、复制、粘贴、全选、查找、查找并替换;对文本字体、颜色的设置;点击鼠标右键,实现对文本的剪切、复制、粘贴、全选;当选择新建、关闭、退出、保存时有一定的保存文件的提示。
else if(e.getSource()==itemcolor){
Color newColor=JColorChooser.showDialog(this,"调色板",text1.getForeground());//显示有模式的颜色选取器
if(newColor!=null)
text1.setForeground(newColor); }
}
}
});
⑤添加窗口事件,当点击关闭时,出现一定的保存提示
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
int n1=JOptionPane.showConfirmDialog(null, "是否在关闭前保存当前文
当点击保存时,弹出文件路径选择窗口,还需将文件写入,应用到文件字符输出流FileWriter、输出缓冲流BufferedWriter,其过程代码为:
File file=tSelectedFile();
try{
FileWriter writefile=newFileWriter(file);
BufferedWriter out=newBufferedWriter(writefile);
String s=text1.getText();
out.write(s);
out.close();
}
catch(IOException ee1){}
}
};
设置颜色时,弹出颜色选择器对话框,设置字体颜色(即前景色):
②编辑菜单:包括剪切、复制、粘贴、删除、查找、查找并替换、全选菜单项,同样用类JmenuItem创建
③格式菜单:包括字体、颜色、自动换行,其中为自动换行菜单项添加了复选框,应用类JcheckBoxMenuItem创建
④帮助菜单:包括帮助主题、关于写字板两个菜单项
(2)、工具栏:包括运用类JButton创建的按钮new1 ,open1, save1,cut1,paste1,copy1,分别为新建、打开、保存、剪切、复制、粘贴。
this.size=this.l3.getSelectedIndex();
this.dispose();
}else if(e.getSource()==cancel){//选择取消
this.flag=false;
this.dispose();}
}
public String font(){//返回
return this.font1;}
效果如图:
(2)、Fontset类
采用行式盒式布局方式将字体、字形、字号从左至右依次放置,创建提示标签、下拉列表与按钮,运用类Jlabel、List、Jbutton;构造方法Fontset()中,先对字体窗口进行初始化设置,包括窗口大小、位置、是否可见、缺省关闭方式;下拉列表中,字体是通过引入系统存在字体,调用getAvailableFontFamilyNames();字型与字体大小需要手动添加,因而创建串类型的数组size[]、font[],并设置默认选择位置,用列表调用select()方法;为所要实现相应功能的组件添加监听器,并重写其方法:
(1)、FirstWindow类
①先对所要建立的各个组件进行声明,如JMenuBar menubar;JMenu menu1,menu2,menu3,menu4;JTextArea text1;JCheckBoxMenuItem box;在构造方法FirstWindow中对所要建立的窗体进行初始化,代码如下:
if(this.flag){
p=pile(this.patternText.getText());//区分大小写的匹配}
else{
p=pile(this.patternText.getText(),Pattern.CASE_INSENSITIVE);}
m=p.matcher(s);
(三)、结构分析
(1)、菜单栏:利用类JMenuBar创建一个菜单条的实例menubar,并利用类Jmenu创建了四个菜单的实例menu1、menu2、menu3、menu4分别为文件、编辑、格式、帮助,如下图所示
①文件菜单:其中包括利用类JmenuItem创建了五个菜单项新建、打开、保存、另存为、退出
if((e.getSource())==check){//点击查找
if(m.find(0)){
fw.text1.select(m.start(), m.end());}
else{
件?","确认对话框",JOptionPane.YES_NO_OPTION);}}
出现的效果如图:
⑥为各个组件添加监听器,即注册监听器过程,以实现其相应功能,代码如下:
itemcut.addActionListener(this);//设置菜单项的监听器
open1.addActionListener(this);//设置工具栏项的监听器
②创建了各个组件,包括菜单条menubar、菜单、菜单项、按钮、文本区text1、工具条jtb、文件选择fileChooser、菜单项复选框box,应用到的类有JMenuBar、Jmenu、JmenuItem、Jbutton、JtextArea、JtoolBar、JfileChooser、JcheckBoxMenuItem;并为一些菜单项添加快捷方式以及图标,使用到以下代码(并非全部代码,仅用其中部分为例,下同):
public int type(){//返回所选择的字型
return this.type;}
public int size1(){
return this.size;}
效果如图:
(3)、check类(查找)
应用模式匹配与正则表达式相关知识,此窗口布局方式采用从上至下的盒式布局;首先建立模式对象与匹配对象Pattern p;Matcher m以及所用的标签、按钮、复选框;再对该窗口进行初始化设置,包括窗口大小、位置、是否可见、缺省关闭方式;为要进行相应操作的组件添加监听器,并实现监听器:当点击查找时,文本区调用select方法,从文本开始位置进行查找,直到到达最后的位置,当当前位置已经到达最后再点击查找下一个时给出相应的提示信息,代码如下:
itemcut1.addActionListener(this);//设置弹出菜单项的监听器
⑦实现监听器,即对其方法进行重写过程,代码部分为:
public void actionPerformed (ActionEvent e){};其中对于查找、查找替换、字体功能的实现分别调用类change、check、Fontext中的方法;当点击退出时会弹出确认窗口,提示是否要保存当前文件;点击打开时,会弹出文件选择的窗口,效果如图:
建议程序使用Eclipse集成开发环境完成,熟悉在集成开发环境下编写Java程序。
二、设备与环境
硬件:多媒体计算机
软件:Windows 2000以上的操作系统、JDK开发包、集成开发环境
三、实验内容
总体要求:程序界面友好,代码的可维护性好,包括必要的注释和相应的文档。
具体要求:基本的文本录入,字符修改,删除,换行,粘贴,复制,剪切等功能,主要包括:
itemnew=new JMenuItem("新建(N)",new ImageIcon("new.gif"));
itemnew.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));
③调用add方法将组件添加到窗体、菜单项添加到菜单、菜单添加到菜单条、按钮添加到工具栏中,代码如下:
(3)、弹出菜单(鼠标右击):应用类JpopupMenu创建一个弹出菜单的实例pm,并将菜单项itemcopy1,itemcut1,itempaste1,itemqx1依次添加到弹出菜单。
(四)、代码分析
总体结构概述:程序包括一个公共类sy,与四个类,分别为窗口建立的类FirstWindow,查找并替换的类change,查找的类check,字体设置的类Fontext;其中所引用到了Java提供的软件包java.awt.*;java.awt.event.*;java.io.*; java.util.regex.*; javax.swing.*;实现各个组件的功能在窗口建立的类中为各个组件添加监听器,并实现监听器,类change、check、Fontext分别为实现查找并替换、查找、字体监听器而建立的类,在类FirstWindow中调用上述三种类中的方法以实现监听器,将其放在类FirstWindow的外部,增强代码的可读性,具体实现过程如下:
相关主题