**
java课程设计《简易记事本》
**
第一次在博客上发布文章。这是我在大二上学期的java课程设计,我的课程设计是做一个简易记事本。其中有这些要求:1. 摸拟windows操作系统中的记事本软件,开发一款简易记事本2. 具有新建文件、保存文件、复制和粘贴功能3. 可以根据自身能力添加其它功能。
一、设计概述
该程序为简易记事本,目的是摸拟windows操作系统中的记事本软件,开发一款简易记事本,是开发的记事本具有新建文件、保存文件、打开文件、复制、剪切、粘贴、设置背景颜色和字体等功能。
本程序使用了窗口交互界面,主要运用了Java swing组件和动作事件监听器,还用到了文件的输入输出流。记事本的界面参考了Window中记事本界面,并且根据课程设计要求做了适当的调整,相应地添加了其他功能。
二、总体设计
2.1程序设计思路
在本程序中,设计了一个菜单栏和文本区。设计过程中用了JMenuBar,JFileChooser,JScrollPane,JMenu等。JMenuBar包括用来制作”文件”,“工具”,“背景”,“字体”,“关于”。JTextArea主要用来输入文本。
2.2总体设计
这次编写的简易记事本一共有4个源文件。类之间的主要关系如图所示。主类是NoteBook;子类有Mytext,BackgroundClorListener,HandkeListener。
NoteBook.java文件生成的类负责创建简易记事本的“窗口”和设置窗口的相关信息。该类含有main方法,整个程序从该类开始执行。
Mytext.java文件生成的类Mytext继承JFrame类作为底层容器,负责添加窗口的组件和为组件添加监视器。整个记事本分为两块菜单栏和内容输入区;为了实现相关功能,添加监听事件。本程序为了实现ActionListener接口,用来监听并处理部分菜单项和内容输入区为事件源的事件。
BackgroundColorListener.java文件生成的类BackgroundColorLisener负责重写监视器方法,实现设置文本区背景颜色的功能。
HandleListener.javajava文件生成的类HandleListener负责重写监视器的方法,负责实现复制、剪切、粘贴的功能。
2.3详细设计代码
//主函数
Jishiben.java
public class Jishiben{
public static void main(String args[]){
Mytext text=new Mytext(“&随手一记”,100,90,600,600”);
//创建窗口、设置窗口名称和大小
}
}
Mytext.java
//Mytext类
import javax.swing.*;
import java.awt.*;
import javax.swing.event.*;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.awt.event.*;
import javax.swing.JFrame.*;
import java.io.*;
import javax.swing.filechooser.*;
public class Mytext extends JFrame implements ActionListener{
JTextArea area;//创建文本区
JMenuBar menubar;//创建菜单条
JButton button;//创建按钮
JFileChooser fileDialog;//创建对话框
BufferedReader in;//创建缓冲输入流
FileReader fileReader;//创建文件字符输入流
BufferedWriter out;//缓冲输出流
FileWriter fileWriter;//创建文件字符输出流
JMenu menu1,menu2,menu3,menu4,menu5,menu6,menu7,menu8,menu9;//创建菜单、子菜单
JmenuItem item1,item2,item3,item4,item5,item6,item7,item8,item9,item10,item11,item12,item13,
item14,item15,item16,item17,item18,item19,item20,item21,item22,item23,item24,
item25,item26,item27,item28,item29;//创建菜单项
//添加组件方法
public Mytext(String s,int x,int y,int h,int w){
init(s);
setLocation(x,y);
setSize(h,w);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//使用结束后释放该窗口,退出程序
}
void init(String s){
setTitle(s);
menubar=new JMenuBar();
button=new JButton();
area=new JTextArea();
menu1=new JMenu("文件(File)");
menu2=new JMenu("工具(Tool)");
menu3=new JMenu("颜色(Color)");
menu4=new JMenu("背景(Background)");
menu5=new JMenu("字体(Font)");
menu6=new JMenu("字号");
menu7=new JMenu("字形");
menu8=new JMenu("恢复原字体");
menu9=new JMenu("关于");
item1=new JMenuItem("复制(Copy)");
item2=new JMenuItem("剪切(Cut)");
item3=new JMenuItem("粘贴(Paste)");
item4=new JMenuItem("新建(Newset)");
item5=new JMenuItem("保存(Paste)");
item6=new JMenuItem("灰色(Gray)");
item7=new JMenuItem("粉色(Pi