课程设计—java记事本

合集下载

java课程设计报告记事本

java课程设计报告记事本

java课程设计报告记事本一、教学目标本课程旨在通过学习Java编程语言,使学生掌握Java编程的基本语法、面向对象编程思想,以及常用数据结构和算法。

通过本课程的学习,使学生能够独立完成简单的Java程序,培养学生的编程能力和逻辑思维能力。

同时,通过实践操作,使学生掌握Java开发工具的使用,提高学生的动手能力。

在学习过程中,培养学生积极思考、合作探讨的学习态度,提高学生的自主学习能力。

二、教学内容本课程的教学内容主要包括Java基本语法、数据类型、运算符、控制结构、数组、字符串、面向对象编程、异常处理、文件操作、集合框架、多线程编程等。

具体到教材,我们将按照教材的章节顺序进行教学,每个章节都会讲解相应的知识点,并通过实例进行讲解和演示。

在讲解过程中,我们会结合实际的编程案例,使学生能够更好地理解和掌握Java编程的知识。

三、教学方法为了提高教学效果,我们将采用多种教学方法进行教学。

首先,通过讲授法,向学生传授Java编程的基本知识和技巧。

其次,通过讨论法,引导学生进行思考和讨论,培养学生的逻辑思维能力。

再次,通过案例分析法,让学生通过分析实际案例,掌握Java编程的实际应用。

此外,我们还会安排实验课,让学生亲自动手编写代码,提高学生的动手能力。

通过多种教学方法的运用,激发学生的学习兴趣,提高学生的学习主动性。

四、教学资源为了保证教学质量,我们将准备丰富的教学资源。

教材和参考书将作为主要的学习材料,我们将选择内容丰富、讲解详细的教材和参考书。

此外,我们还会收集和整理多媒体教学资料,如教学视频、PPT课件等,以丰富教学手段,提高学生的学习兴趣。

在实验课上,我们将使用实验室的计算机进行教学,并配备相应的实验设备,以保证学生能够顺利进行实验操作。

五、教学评估为了全面、客观地评估学生的学习成果,我们将采取多种评估方式。

首先,通过平时表现评估,观察学生在课堂上的参与程度、提问回答等情况,了解学生的学习态度和理解能力。

java课程设计记事本设计报告

java课程设计记事本设计报告

java课程设计记事本设计报告一、教学目标本课程旨在通过Java编程语言实现一个记事本应用程序,让学生掌握Java编程的基本概念和方法,培养学生的编程能力和解决问题的能力。

1.理解Java编程语言的基本语法和结构。

2.掌握Java编程中的数据类型、变量、运算符、控制语句等基本概念。

3.学习Java中的类和对象的概念,理解封装、继承和多态的原理。

4.熟悉Java中的常用类库和方法。

5.能够运用Java编程语言编写简单的程序。

6.能够使用Java编程语言实现一个记事本应用程序,包括文本的增删改查等功能。

7.能够分析并解决编程过程中遇到的问题。

情感态度价值观目标:1.培养学生的团队合作意识和沟通能力,通过小组合作完成项目。

2.培养学生的创新思维和解决问题的能力,鼓励学生进行自主学习和探索。

3.培养学生的学习兴趣和自信心,让学生感受到编程的乐趣和成就感。

二、教学内容本课程的教学内容主要包括Java编程语言的基本概念和方法,以及记事本应用程序的设计和实现。

1.Java编程语言的基本概念和方法:–数据类型、变量、运算符、控制语句等基本概念。

–类和对象的概念,封装、继承和多态的原理。

–常用类库和方法的使用。

2.记事本应用程序的设计和实现:–用户界面设计:创建文本框、按钮等控件,实现用户输入和显示功能。

–文件操作:实现文件的打开、保存、关闭等功能,使用文件读写技术。

–文本处理:实现文本的增删改查等功能,使用数据结构和算法进行文本管理。

三、教学方法本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等,以激发学生的学习兴趣和主动性。

1.讲授法:教师通过讲解Java编程语言的基本概念和方法,以及记事本应用程序的设计和实现,引导学生掌握相关知识。

2.讨论法:学生分组进行讨论,分享自己的理解和思路,互相学习和交流。

3.案例分析法:分析实际案例,让学生了解记事本应用程序的实际应用场景和设计思路。

4.实验法:学生通过编写代码和进行实验,实现记事本应用程序的功能,培养学生的实际编程能力和解决问题的能力。

JAVA_课程设计_记事本

JAVA_课程设计_记事本

JAVA课程设计报告课题: 记事本姓名:学号:同组姓名专业班级:指导教师:设计时间:评阅意见:目录评定成绩:指导老师签名:目录一、需求分析 (3)二、概要设计 (3)2.1系统主要功能 (3)2.2运行环境要求 (3)三、详细设计 (4)3.1窗口设计 (4)3.2功能设计 (5)四、系统调试分析 (7)4.1窗口调试 (7)4.2功能调试 (7)五、使用说明 (9)六、课程设计心得 (9)七.参考文献 (10)一、需求分析现在网络上各种文档编辑器数不胜数,功能也是应有尽有,有能改变字体的,有能改变文字颜色的。

但是,这些软件又存在各种各样的瑕疵或问题:有的字体体积相对于一般文字编辑来说太大;有的功能太复杂,使初级使用者一时难以掌握。

仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能说足够了;本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。

该课程设计报告里的简易记事本程序是使用Java程序设计语言编写的,要求实现记事本的基本功能,参考了windows中记事本的一些功能。

要求打开文件,读取文件中的文本信息;显示、编辑修改文本信息;实现新建、打开、保存文本文件以及控制保存文本信息到指定的文件的一些基本功能。

二、概要设计2.1系统主要功能本程序是利用java程序设计语言编写的一个简单的记事本程序。

可以通过菜单栏和工具栏实现以下功能:如文件的新建,打开,保存和退出;对文件的编辑,如复制,剪切,粘贴;以及帮助菜单;执行完操作后,能够顺利关闭记事本。

2.2运行环境要求(1) 实现设计的系统硬件需求硬件配置的基本要求:* 586以上的计算机* 32MB以上的内存* 彩色显示器* 3.5寸高密软盘驱动器* 光盘驱动器* 4G以上硬盘空间* 鼠标(2) 实现设计的系统软件* WINDOWSXP* Jcreator Pro全套软件三、详细设计设计一个EditorDemo类,继承自JFrame类,并在EditorDemo类利用JtextPane 创建面板窗口textPane,利用Jlabel创建状态栏 statusBar,利用JFileChooser 创建文件选择器filechooser,利用JMenuBar创建并实例化菜单栏,利用JToolBar 创建工具栏,再通过一些具体方法实现各功能键的功能。

《Java》课程设计》记事本

《Java》课程设计》记事本

《Java课程设计》记事本课程设计报告书目录一、设计课题二、设计目的三、操作环境四、设计场所(机房号、机器号或自己机器)五、设计过程(设计内容及主要程序模块)六、本次设计中用到的课程知识点(列出主要知识点)七、设计过程中遇到的问题及解决办法八、程序清单五、设计过程(设计内容及主要模块,不少于3000字)1.设计要求1)界面设计2)功能实现(1)文件菜单:新建、打开、保存、另存为、退出等。

(2)其中新建菜单项可以新建一个记事本程序;打开菜单项可以打开一个用户指定的文本文件,并将其内容显示在记事本的文本区域;保存和另存为菜单项可分别实现文件的保存和另存为3)编辑菜单:复制、剪切和粘贴等4)帮助菜单:软件版本信5)右键弹出快捷菜单2.总体设计1)功能模块图:图一功能模块图2)功能描述1、打开记事本。

首先是标准型的记事本,拥有文件、编辑。

格式和帮助。

如图1所示:图1标准型记事本界面2、在标准型的记事本界面中,进行的新建一个本件名字叫新记事本。

如图2记事本文件帮助新建打开保存另存为退出复制剪切粘贴编辑关于记事本右键快捷格式字体颜色图2新建记事本功能3、用打开文件打开刚刚新建的新记事本。

如图三所示。

图3—打开文件4、点击退出即可退出,如图4所示:图4—退出记事本5、点击帮助可以看到有关记事本的相关信息,其中有作者名、版本、许可条款、隐私声明等必要信息。

如图5所示:图5—帮助相关信息6、右键可实现复制、粘贴、剪切、清除等常用功能,方便用户可以快捷方便的使用记事本。

如图6所示:图6—右键功能7、编辑也可实现制、粘贴、剪切、清除等常用功能,方便用户选择自己适合的方式,自由选择方便的快捷方式使用。

如图7:图7—编辑八、程序清单package test;import java.io.File;import java.io.*;import java.awt.event.*;import java.awt.Toolkit;import java.awt.*;import javax.swing.*;import javax.swing.filechooser.*;public class Notebook extends JFrame implements ActionListener,ItemListener{ //组件创建JButton b_save,b_close; //按钮JTextArea textArea; //文本框File tempFile; //文件JPanel jp; //面板JMenu file,edit,style,help; //菜单JMenuItemf_new,f_open,f_save,f_close,f_saveas,e_copy, e_paste,e_cut,e_clear,e_selectAll,e_find,e_rep lace,s_font,s_color,h_editor,h_help; //菜单条JMenuBar jmb;JScrollPane jsp; //滚动面板JPopupMenu popUpMenu = new JPopupMenu(); //右键弹出式菜单JLabel stateBar;//标签JLabel jl,jj;JFileChooser jfc = new JFileChooser(); //文件选择JMenuItemje_copy,je_paste,je_cut,je_clear,je_selectAll,je _find,je_replace; //弹出式菜单条public Notebook(){jfc.addChoosableFileFilter(new FileNameExtensionFilter("文本文件(*.txt)","txt"));jmb = new JMenuBar();textArea = new JTextArea();jsp = new JScrollPane(textArea);file = new JMenu("文件");edit = new JMenu("编辑");style = new JMenu("格式");help = new JMenu("帮助");je_copy = new JMenuItem("复制(C) ");je_paste = new JMenuItem("粘贴(P) ");je_cut = new JMenuItem("剪切(X) ");je_clear = new JMenuItem("清除(D) ");je_selectAll = new JMenuItem("全选(A) ");je_find = new JMenuItem("查找(F) ");je_replace = new JMenuItem("替换(R) ");je_copy.addActionListener(this); //给弹窗式的各组件添加监听器je_paste.addActionListener(this);je_cut.addActionListener(this);je_clear.addActionListener(this);je_selectAll.addActionListener(this);je_find.addActionListener(this);je_replace.addActionListener(this);//给界面上方的菜单条添加监听器f_new = new JMenuItem("新建(N)");f_new.setAccelerator(KeyStroke.getKeyS troke('N',InputEvent.CTRL_MASK,false)); //设置带修饰符快捷键f_new.addActionListener(this);f_open = new JMenuItem("打开(O)");f_open.setAccelerator(KeyStroke.getKey Stroke('O',InputEvent.CTRL_MASK,false));f_open.addActionListener(this);f_save = new JMenuItem("保存(S)");f_save.setAccelerator(KeyStroke.getKey Stroke('S',InputEvent.CTRL_MASK,false));f_save.addActionListener(this);f_saveas = new JMenuItem("另存为");f_saveas.setAccelerator(KeyStroke.getKe yStroke(KeyEvent.VK_S,InputEvent.CTRL_ MASK|InputEvent.SHIFT_MASK));f_saveas.addActionListener(this);f_close = new JMenuItem("退出(W)");f_close.setAccelerator(KeyStroke.getKey Stroke('W',InputEvent.CTRL_MASK,false));f_close.addActionListener(this);e_copy = new JMenuItem("复制(C)");e_copy.setAccelerator(KeyStroke.getKey Stroke('C',InputEvent.CTRL_MASK,false));e_copy.addActionListener(this);e_paste = new JMenuItem("粘贴(V)");e_paste.setAccelerator(KeyStroke.getKeyStro ke('V',InputEvent.CTRL_MASK,false));e_paste.addActionListener(this);e_cut = new JMenuItem("剪切(X)"); e_cut.setAccelerator(KeyStroke.getKeyStroke ('X',InputEvent.CTRL_MASK,false));e_cut.addActionListener(this);e_clear = new JMenuItem("清除(D)");e_clear.setAccelerator(KeyStroke.getKeyStrok e('D',InputEvent.CTRL_MASK,false));e_clear.addActionListener(this);e_selectAll = new JMenuItem("全选(A)");e_selectAll.setAccelerator(KeyStroke.getKey Stroke('A',InputEvent.CTRL_MASK,false));e_selectAll.addActionListener(this);e_find = new JMenuItem("查找(F)");e_find.setAccelerator(KeyStroke.getKeyStrok e('F',InputEvent.CTRL_MASK,false));e_copy.addActionListener(this);e_replace = new JMenuItem("替换(R)");e_replace.setAccelerator(KeyStroke.getK eyStroke('R',InputEvent.CTRL_MASK,false)) ;e_replace.addActionListener(this);s_font = new JMenuItem("字体(T)");s_font.setAccelerator(KeyStroke.getKeyStrok e('T',InputEvent.CTRL_MASK,false));s_font.addActionListener(this);s_color = new JMenuItem("颜色(C)...");s_color.setAccelerator(KeyStroke.getKeyStro ke(KeyEvent.VK_C,InputEvent.CTRL_MAS K | InputEvent.SHIFT_MASK));s_color.addActionListener(this);h_editor = new JMenuItem("关于记事本");h_editor.setAccelerator(KeyStroke.getKeyStro ke(KeyEvent.VK_E,InputEvent.CTRL_MAS K));h_editor.addActionListener(this);h_help = new JMenuItem("帮助信息(H)");h_help.setAccelerator(KeyStroke.getKeyStrok e(KeyEvent.VK_I,InputEvent.CTRL_MASK) );h_help.addActionListener(this);//添加右键弹出式菜单popUpMenu.add(je_copy);popUpMenu.add(je_paste);popUpMenu.add(je_cut);popUpMenu.add(je_clear);popUpMenu.addSeparator();popUpMenu.add(je_selectAll);popUpMenu.add(je_find);popUpMenu.add(je_replace);//编辑区鼠标事件,点击右键弹出"编辑"菜单textArea.addMouseListener(new MouseAdapter(){public void mouseReleased(MouseEvent e) {if(e.getButton() == MouseEvent.BUTTON3)popUpMenu.show(e.getComponent(), e.getX(), e.getY());} //e.getComponent()和textArea具有同等效果public void mouseClicked(MouseEvent e){if(e.getButton() == MouseEvent.BUTTON1)popUpMenu.setVisible(false);}});this.setJMenuBar(jmb);this.setTitle("记事本程序");file.add(f_new); //添加文件菜单组件file.add(f_open);file.addSeparator(); //加分隔线file.add(f_save);file.add(f_saveas);file.addSeparator();file.add(f_close);edit.add(e_copy); //添加编辑菜单组件edit.add(e_paste);edit.add(e_cut);edit.add(e_clear);edit.addSeparator();edit.add(e_selectAll);edit.add(e_find);edit.add(e_replace);style.addSeparator();style.add(s_font);style.add(s_color);jmb.add(file); //添加格式菜单组件jmb.add(edit);jmb.add(style);jmb.add(help);help.add(h_editor); //添加帮助菜单组件help.add(h_help);//textArea.setWrapStyleWord(true); //设置在单词过长的时候是否要把长单词移到下一行。

java简单记事本课程设计

java简单记事本课程设计

java简单记事本课程设计一、课程目标知识目标:1. 掌握Java基本语法和编程结构;2. 理解事件处理机制,掌握简单的用户界面设计;3. 学会使用文件I/O操作,实现记事本的保存和打开功能。

技能目标:1. 能够运用所学知识独立设计并实现一个简单的记事本程序;2. 培养解决问题的能力,学会分析需求并运用Java语言编写相应的代码;3. 提高调试程序的能力,能够找出并修正程序中的错误。

情感态度价值观目标:1. 培养学生对编程的兴趣和热情,激发探究精神;2. 培养学生良好的编程习惯,注重代码规范和注释;3. 增强学生的团队协作意识,学会与他人共同解决问题。

课程性质:本课程为实践性较强的课程,旨在让学生通过动手实践,掌握Java 编程的基本技能。

学生特点:学生已具备一定的Java基础,具有一定的编程能力和问题解决能力。

教学要求:教师需引导学生主动参与,注重理论与实践相结合,鼓励学生创新和团队协作。

在教学过程中,将目标分解为具体的学习成果,以便进行教学设计和评估。

二、教学内容1. Java基本语法回顾:变量、数据类型、运算符、控制语句(条件语句、循环语句);2. Java面向对象基础:类与对象、构造方法、封装、继承和多态;3. GUI编程基础:Swing组件、事件处理机制、布局管理器;4. 文件I/O操作:File类、文件读写、异常处理;5. 简单记事本程序设计:需求分析、界面设计、功能实现(打开、保存、新建、撤销、重做)。

教学内容安排与进度:第一课时:回顾Java基本语法,明确课程目标;第二课时:介绍Java面向对象基础,讲解类与对象、构造方法;第三课时:学习GUI编程基础,了解Swing组件和事件处理机制;第四课时:学习文件I/O操作,掌握文件读写和异常处理;第五课时:进行简单记事本程序设计的需求分析和界面设计;第六课时:实现记事本程序的功能,并进行调试优化。

教材章节关联:1. Java基本语法回顾:教材第1-3章;2. Java面向对象基础:教材第4-6章;3. GUI编程基础:教材第7章;4. 文件I/O操作:教材第8章;5. 简单记事本程序设计:结合教材实例,进行综合应用。

课程设计java记事本

课程设计java记事本

课程设计 java记事本一、课程目标知识目标:1. 理解Java基本语法结构,掌握面向对象编程的基本概念;2. 学会使用Java编写简单的记事本程序,理解程序的基本结构;3. 了解Java事件处理机制,掌握基本的用户界面设计方法。

技能目标:1. 能够运用所学知识,独立编写、调试和运行Java记事本程序;2. 培养良好的编程习惯,编写结构清晰、易于维护的代码;3. 学会使用集成开发环境(IDE)进行Java程序开发,提高编程效率。

情感态度价值观目标:1. 培养学生对编程的兴趣,激发学习积极性,增强自信心;2. 培养学生的团队协作能力,学会与他人分享和交流编程经验;3. 引导学生认识到编程在生活中的实际应用,培养创新意识和实践能力。

课程性质:本课程为实践性较强的Java编程课程,通过编写记事本程序,让学生掌握Java编程的基本知识和技能。

学生特点:学生处于初中或高中年级,具备一定的计算机操作能力和逻辑思维能力。

教学要求:结合学生特点,注重实践操作,激发学生的学习兴趣,培养编程技能,同时关注情感态度价值观的培养。

在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容1. Java基本语法:变量、数据类型、运算符、控制语句(条件语句、循环语句);2. 面向对象编程:类与对象、构造方法、封装、继承、多态;3. Java事件处理机制:事件监听器、事件适配器、事件处理方法;4. 用户界面设计:窗口、标签、文本框、按钮等组件的使用;5. Java文件操作:文件的读取与写入、文件的保存与打开;6. 集成开发环境(IDE)的使用:Eclipse或IntelliJ IDEA的基本操作与调试技巧。

教学大纲:第一周:Java基本语法及控制语句学习;第二周:面向对象编程基本概念及实现;第三周:Java事件处理机制及用户界面设计;第四周:Java文件操作及记事本程序编写;第五周:实践与调试,完善记事本程序。

java课程设计记事本摘要

java课程设计记事本摘要

java课程设计记事本摘要一、教学目标本课程旨在通过学习Java编程语言,使学生掌握Java编程的基本语法、流程控制、数据结构、面向对象编程等基本知识,培养学生独立编程和解决问题的能力。

具体的教学目标如下:1.掌握Java基本语法和编程规范。

2.理解Java的流程控制,包括条件语句、循环语句等。

3.熟悉Java的数据结构,如数组、链表、栈、队列等。

4.掌握Java的面向对象编程思想,包括类、对象、继承、多态等。

5.能够运用Java编写简单的程序,解决实际问题。

6.能够阅读和理解Java代码,进行简单的代码调试和优化。

7.能够运用面向对象的思想,设计和实现具有一定复杂度的程序。

情感态度价值观目标:1.培养学生对编程的兴趣,提高学生主动学习和探索的精神。

2.培养学生团队协作意识,学会在团队中分工合作。

3.培养学生面对挑战,勇于解决问题的态度。

二、教学内容本课程的教学内容主要包括Java基本语法、流程控制、数据结构、面向对象编程等。

具体安排如下:1.Java基本语法:介绍Java编程的基本规则,包括数据类型、变量、运算符、表达式等。

2.流程控制:讲解条件语句、循环语句等控制结构,以及异常处理机制。

3.数据结构:学习数组、链表、栈、队列等基本数据结构及其在Java中的应用。

4.面向对象编程:讲解类与对象、继承与多态等面向对象的基本概念和原理。

三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学。

具体包括:1.讲授法:通过讲解和示例,使学生掌握Java编程的基本概念和语法。

2.案例分析法:通过分析实际案例,引导学生学会运用Java解决实际问题。

3.实验法:安排实验室实践环节,让学生动手编写代码,提高编程能力。

4.讨论法:学生进行小组讨论,培养学生的团队协作能力和解决问题的能力。

四、教学资源为了支持本课程的教学,我们将提供以下教学资源:1.教材:《Java编程思想》等经典教材,为学生提供系统的学习资料。

java课程设计记事本

java课程设计记事本

java课程设计 记事本一、课程目标知识目标:1. 学生能理解记事本软件的基本功能需求,掌握Java编程语言实现文本编辑器的基础知识。

2. 学生能掌握Java中文件I/O操作,学会如何读取和保存文件。

3. 学生了解并掌握Java事件处理机制,实现对记事本界面上各种操作(如打开、保存、复制、粘贴等)的响应。

4. 学生理解MVC设计模式,并能应用于记事本程序的设计中。

技能目标:1. 学生能够独立设计并编写出一个具备基本功能的记事本程序,实现文本的打开、编辑、保存和另存为功能。

2. 学生通过实践,提高问题分析能力,掌握运用Java编程解决问题的方法和技巧。

3. 学生能够运用所学知识,对记事本程序进行扩展,增加如查找替换、字体设置等高级功能。

情感态度价值观目标:1. 学生在课程学习过程中,培养解决问题的耐心和毅力,增强对编程学习的兴趣。

2. 学生通过小组合作完成项目,培养团队协作能力和沟通技巧。

3. 学生学会分享编程心得,树立正确的学习态度,认识到编程对个人发展和社会进步的重要性。

本课程旨在让学生通过实际操作,掌握Java编程的基础知识和技能,培养实际编程能力。

考虑到学生年级的特点,课程内容设计将注重知识点的逐步深入和实际应用,使学生在完成课程学习后,能够具备独立设计和开发简单Java应用程序的能力。

二、教学内容1. Java基础知识回顾:包括数据类型、控制结构、类与对象、继承与多态等基础概念,以教材相关章节为参考,确保学生对Java基础知识有扎实的掌握。

2. 文件I/O操作:教学文件读写的基本方法,涉及File类、InputStream和OutputStream等类的使用,对应教材中文件操作相关章节。

3. Java事件处理机制:介绍事件监听器、事件源、事件对象等概念,以及如何使用AWT和Swing库处理图形用户界面事件,参考教材中图形用户界面设计相关内容。

4. MVC设计模式:讲解模型-视图-控制器设计模式的原理和应用,引导学生将设计模式应用于记事本程序设计,与教材中设计模式章节相结合。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

import javax.swing.*;import javax.swing.undo.*;import javax.swing.text.*;import javax.swing.event.*;import java.awt.*;import java.awt.event.*;import java.text.*;import java.util.*;import java.awt.datatransfer.*;import java.awt.print.*;import java.io.*;public class Jishiben extends JFrame implements ActionListener { JPopupMenu pm ;JTextArea ta;boolean isNewFile=true; //是否新文件(未保存过的)File currentFile; //当前文件名String oldValue; //存放编辑区原来的内容,用于比较文本是否有改动//protected UndoManager undo = new UndoManager();//protected UndoableEditListener undoHandler = new UndoHandler();JToolBar tbar = new JToolBar();JCheckBoxMenuItem mt19;public Jishiben(){super("记事本");//Container ct=getContentPane();//以下三句是设置编辑区域及滚动条ta = new JTextArea();JScrollPane sp = new JScrollPane(ta);add(sp);JMenuBar mb = new JMenuBar();//设置文件菜单JMenu mu1 = new JMenu("文件(F)",true);mu1.setMnemonic('F');//设置快捷键按下ALT+F激活打开菜单JMenuItem mt1 = new JMenuItem("新建(N)",'N');mt1.setMnemonic('N');//mt1.addActionListener(new new1());JMenuItem mt2 = new JMenuItem("打开(O)...",'O');mt2.setMnemonic('O');mt2.addActionListener(this);JMenuItem mt3 = new JMenuItem("保存(S)",'S');//mt3.addActionListener(new save());mu1.add(mt3);JMenuItem mt4 = new JMenuItem("另存为(A)...");JMenuItem mt5 = new JMenuItem("页面设置(A)...");JMenuItem mt6 = new JMenuItem("打印(P)...");JMenuItem mt7 = new JMenuItem("退出(X)",'X');//组合键的设置mt1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.C TRL_MASK)); //新建mt2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.C TRL_MASK)); //打开mt3.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.C TRL_MASK)); //保存mt6.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.C TRL_MASK)); //打印this.setJMenuBar(mb);mb.add(mu1);mu1.add(mt1);mu1.add(mt2);mu1.add(mt3);mu1.add(mt4);mu1.addSeparator();mu1.add(mt5);mu1.add(mt6);mu1.addSeparator();mu1.add(mt7);//设置编辑菜单JMenu mu2 = new JMenu("编辑(E)",true);mu2.setMnemonic('E');JMenuItem mt8 = new JMenuItem("辙稍(U)",'U');JMenuItem mt9 = new JMenuItem("剪切(T)",'T');JMenuItem mt10 = new JMenuItem("复制(C)",'C');JMenuItem mt11 = new JMenuItem("粘贴(P)",'P');JMenuItem mt12 = new JMenuItem("删除(L)",'L');JMenuItem mt13 = new JMenuItem("查找(F)",'F');JMenuItem mt14 = new JMenuItem("查找下一个(N)",'N');JMenuItem mt15 = new JMenuItem("替换(R)...",'R');JMenuItem mt16 = new JMenuItem("转到(G)...",'G');JMenuItem mt17 = new JMenuItem("全选(A)",'A');JMenuItem mt18 = new JMenuItem("时间/日期(D)",'D');//组合键的设置mt8.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,InputEvent.C TRL_MASK)); //辙稍mt9.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.C TRL_MASK)); //剪切mt10.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent. CTRL_MASK));//复制mt11.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent. CTRL_MASK));//粘贴mt12.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE,0));//删除mt13.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,InputEvent. CTRL_MASK));//查找mt14.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F3,0));//查找下一个mt15.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H,InputEvent. CTRL_MASK));//替换mt16.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G,InputEvent. CTRL_MASK));//转到mt17.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent. CTRL_MASK));//全选mt18.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F5,0));//时间/日期mb.add(mu2);mu2.add(mt8);mu2.addSeparator();//分隔线mu2.add(mt9);mu2.add(mt10);mu2.add(mt11);mu2.add(mt12);mu2.addSeparator();mu2.add(mt13);mu2.add(mt14);mu2.add(mt15);mu2.add(mt16);mu2.addSeparator();mu2.add(mt17);mu2.add(mt18);//设置格式菜单JMenu mu3 = new JMenu("格式(O)",true);mu3.setMnemonic('O');mt19 = new JCheckBoxMenuItem("自动换行(W)");mt19.setMnemonic('W');JMenuItem mt20 = new JMenuItem("字体(F)...",'F');JMenuItem mtys = new JMenuItem("颜色");mb.add(mu3);mu3.add(mt19);mu3.add(mt20);mu3.add(mtys);//设置查看菜单JMenu mu4 = new JMenu("查看(V)",true);mu4.setMnemonic('V');JCheckBoxMenuItem mt21 = new JCheckBoxMenuItem("状态栏(S)");mt21.setMnemonic('S');mb.add(mu4);mu4.add(mt21);//设置帮助菜单JMenu mu5 = new JMenu("帮助(H)",true);mu5.setMnemonic('H');JMenuItem mt22 = new JMenuItem("帮助文档(H)",'H'); JMenuItem mt23 = new JMenuItem("关于记事本(A)",'A'); mt22.addActionListener(this);mt23.addActionListener(this);mb.add(mu5);mu5.add(mt22);mu5.addSeparator();mu5.add(mt23);setVisible(true);//显示记事本的位置setBounds(400,200,500,400);//设置右键菜单pm = new JPopupMenu();JMenuItem undo = new JMenuItem("辙销(U)",'U'); JMenuItem cut = new JMenuItem("剪切(T)");cut.setMnemonic('T');JMenuItem copy = new JMenuItem("复制(C)",'C'); JMenuItem paste = new JMenuItem("粘贴(P)",'P'); JMenuItem Delete = new JMenuItem("删除(D)",'D'); JMenuItem All = new JMenuItem("全选(A)",'A');//undo.setEnabled(false);//撤消选项初始设为不可用ta.add(pm);ta.addMouseListener(new MouseAdapter(){public void mouseReleased(MouseEvent e) {if(e.isPopupTrigger()){pm.show(ta,e.getX(),e.getY());}}public void mousePressed(MouseEvent e) {mouseReleased(e);}});pm.add(undo);pm.addSeparator();pm.add(cut);pm.add(copy);pm.add(paste);pm.add(Delete);pm.addSeparator();pm.add(All);undo.addActionListener(this);cut.addActionListener(this);copy.addActionListener(this);paste.addActionListener(this);Delete.addActionListener(this);All.addActionListener(this);//系统剪贴板Toolkit tk = Toolkit.getDefaultToolkit();Clipboard clipBoard = tk.getSystemClipboard();}public static void main(String[] args){new Jishiben();}public void actionPerformed(ActionEvent e){if(e.getActionCommand().equals("辙销")){}if(e.getActionCommand()=="剪切(T)"){ta.cut();}if(e.getActionCommand().equals("复制(C)")){ta.copy();}if(e.getActionCommand().equals("粘贴(P)")){ta.paste();}if(e.getSource().equals("自动换行(W)")){if(mt19.getState()){ta.setLineWrap(true);ta.setWrapStyleWord(true);}else{ta.setLineWrap(false);ta.setWrapStyleWord(false);}}}}。

相关文档
最新文档