java设计记事本 java课设记事本_java

java记事本课程设计

一、 设计内容和要求1、 设计一个具有 GUI 界面的记事本 含有简单的文字编辑功能 如 剪切、复制、粘贴、删除 还能实现保存、另存为、设置字体和颜色等功能。2、 本程序要构建的记事本程序参照了 Windows 操作系统的记事本工具 其功能有以下几个方面 (1)、菜单中有“文件” 、 “编辑” 、 “格式” 、 “帮助”四个主菜单 (2)、 “文件”有“新建” 、 “打开” 、 “保存” 、 “另存为”、 “退出”分别用于新建文件 打开文件 保存文件 另存文件 退出记事本。 (3)、 “编辑”有“剪切” 、 “复制” 、 “粘贴”三个子菜单 用于剪切文字 复制文字 粘贴文字 删除文字。 (4)、 “格式”中 有“字体”、 “颜色”两个子菜单 用于设置文字的字体而和颜色 字体有“宋体” 、“楷体” 、 “黑体”颜色有“红” 、 “蓝” 、 “绿” 。 (5)、 “帮助”菜单中有“关于”的子菜单 用于描述记事本程序的相关信息。 (6)、还有弹出菜单也能实现“剪切” 、 “复制” 、 “粘贴”三个子菜单的功能。二、 系统分析与概要设计1、类名: JM (1) 作用: 主类 (2) 继承的父类: JFrame 类(3) 成员变量说明 JMenuBar mb=new JMenuBar();JMenu m1=new JMenu(“文件(F)“); JMenuItem n=new JMenuItem(“新建“); JMenuItem open=new JMenuItem(“打开(O). Ctrl+O“); JMenuItem save=new JMenuItem(“保存(S). Ctrl+S“); JMenuItem save_as=new JMenuItem(“另存为(A).Ctrl+A“); JMenuItem exit=new JMenuItem(“退出“); JMenu m2=new JMenu(“编辑(E)“); JMenuItem copy=new JMenuItem(“复制(C) Ctrl+C“); JMenuItem cut=new JMenuItem(“剪切(X) Ctrl+X“); JMenuItem paste=new JMenuItem(“粘贴(P) Ctrl+P“); 2JMenu m3=new JMenu(“格式(O)“); JMenu f1=new JMenu(“字体(F)“); JMenuItem i11=new JMenuItem(“宋体“); JMenuItem i12=new JMenuItem(“楷体“); JMenuItem i13=new JMenuItem(“黑体“); JMenu color=new JMenu(“颜色(C)“); JMenuItem i21=new JMenuItem(“红“); JMenuItem i22=new JMenuItem(“蓝“); JMenuItem i23=new JMenuItem(“绿“); JMenu m4=new JMenu(“帮助()“); JMenuItem about=new JMenuItem(“关于“); JPopupMenu pm=new JPopupMenu(); JMenuItem item1=new JMenuItem(“复制“); JMenuItem item2=new JMenuItem(“剪切“); JMenuItem item3=new JMenuItem(“粘贴“); String s;Container c; JTextArea editor=new JTextArea(s); (4) 主要方法说明 JM( )方法创建一个窗口并设置窗口的相应参数 以及把各个项目加到窗上 private void addJMenuBar( )方法把各个菜单添加到菜单棒上 private void addFileMenu( ) private void addEditMenu( ) private void addMenu( ) private void addHelpMenu( ) private void addJPopupMenu( )各个方法则把相应的菜单项添加到各自的“文件” 、 “编辑” 、“格式” 、 “帮助”菜单上 及弹出菜单上。2、类名: JM4 (1) 作用: 主类 (2) 继承的父类: JM 类(3) 主要成员方法说明 3编辑区键盘事件:KeyListener 类 如果记事本的编辑区内用键盘输入了字符, 就能够被程序监听: editor.addKeyListener( new KeyAdapter() {public void keyTyped(KeyEvent e){flag=1;}}); 窗口的事件监听:windowListener 类; class windowListener extends WindowAdapter { public void windowClosing(WindowEvent e) { if(flag==0)System.exit(0); else close(); } } 菜单项的事件监听:ActionListener 类; public void actionPered(ActionEvent e) { Font f2=editor.getFont(); JMenuItem mi=(JMenuItem) e.getSource();……}三、 详细设计和编码1、总体功能图42、类的定义及关系3、源代码import java.awt.*;import java.awt.event.*; 5import javax.swing.*;import java.io.*; public class JM extends JFrame { JMenuBar mb=new JMenuBar(); JMenu m1=new JMenu(“文件(F)“); JMenuItem n=new JMenuItem(“新建“); JMenuItem open=new JMenuItem(“打开(O). Ctrl+O“); JMenuItem save=new JMenuItem(“保存(S). Ctrl+S“); JMenuItem save_as=new JMenuItem(“另存为(A).Ctrl+A“); JMenuItem exit=new JMenuItem(“退出“);JMenu m2=new JMenu(“编辑(E)“); JMenuItem copy=new JMenuItem(“复制(C) Ctrl+C“);