java记事本课程设计,java记事本课程设计

41528d3028836879cd698677c3999917.gifjava记事本课程设计

一、 设计内容和要求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“);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/268696.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MQFaultStrategy主要是用来规划消息发送时的延迟策略

这个类主要是用来规划消息发送时的延迟策略 package com.aliyun.openservices.shade.com.alibaba.rocketmq.client.latency;import com.aliyun.openservices.shade.com.alibaba.rocketmq.client.impl.producer.TopicPublishInfo; import com.aliyun.openservices.shade.com.ali…

[原创]Zenoss配置入门-邮件短信通知

前言:Zenoss提供了强大的事件告警通知功能,它提供两种方式,Email和pages(短信还是BB机?)。Email实时性不强,Pages又不知道怎么去配置,可能需要短信网关之类的吧。如何让zenoss的事件能第一时间通…

基于SOA的体系架构设计

当我在为全球酒店在线预订系统做架构设计时,我发现一个头疼的问题是如何保证系统与分布在全球各地的酒店之间完成消息的交互? 一个妥协的办法是,我们为酒店管理者提供管理功能入口,管理人员可以将酒店的客房及客房类型的数据输入到…

k8s pod MySQL环境变量,如何使用Kubernetes的configmap通过环境变量注入到pod里

在Kubernetes官网里,有这样一篇文章,提到了Kubernetes里的一个最佳实践就是把应用代码同配置信息分开,一种方式就是使用Kubernetes 1.2里引入的configmap概念。configmap实际上就是一系列键值对,存储于etcd里。etcd的官网有这样一…

matlab中提取裂缝图像,灰度图像中裂缝自动识别和检测方法与流程

本发明属于测绘科学与图像处理的交叉领域,特别是涉及一种灰度图像中裂缝自动识别和检测方法。主要应用于桥墩表面裂缝自动识别和检测,也可应用于隧道衬砌、大坝表面的裂缝检测和识别。背景技术:桥墩在使用过程中在载荷和自然环境的共同作用下…

回顾模块3

1 回顾模块32 3 4 静态方法5 与类无关,不能访问类里的任何属性和方法6 类方法7 只能访问类变量8 属性property9 把一个方法变成一个静态属性,10 flight.status11 status.setter12 flight.status 313 status.delter14 反射1…

mysql decode encode 乱码问题

mysql decode encode 乱码问题 帮网友解决了一个问题,感觉还是挺好的。 问题是这样的: 问个问题:为什么我mysql中加密和解密出来的字段值不一样?AES_ENCRYPT和 AES_DECRYPT 但是解密出来就不对了 有时候加密变成空值 我试过&am…

matlab读取正则找科学,MATLAB常用正则表达式记录

MATLAB正则表达式一、正则表达式正则表达式是一串用于定义某种模式的字符。在有些情况下(例如,在解析程序输入或处理文本块时),您通常会使用正则表达式在文本中搜索与该模式匹配的一组单词。数据处理是matlab的长项,但是正则表达式在做一些不…

通过JDBC进行简单的增删改查(以MySQL为例)

目录 前言:什么是JDBC 一、准备工作(一):MySQL安装配置和基础学习 二、准备工作(二):下载数据库对应的jar包并导入 三、JDBC基本操作 (1)定义记录的类(可选) (2)连接的获…

Windows Mobile 6.0下实现自绘多种状态按钮(Win32) 续

这篇文章是以前的补充: http://www.cnblogs.com/wangkewei/archive/2009/02/24/1397490.html 放在首页是想借助各位从事Windows Mobile本地代码开发的前辈们力量,把这方面的资料完善一下,我会总结更多有关这方面的文章。 1.原理介绍DRAWITE…

新书品读《三级网络技术预测试卷与考点解析》,欢迎拍砖、跟砖提建议。

新书品读:《三级网络技术预测试卷与考点解析》已正式出版上市,欢迎拍砖、跟砖提建议。第1章 考前预测试卷11.1 上午试题(考试时间120分钟,满分100分)1.1.1 笔试试卷一、选择题(每小题1分,共60…

PHP外部引用样式,PHP引用外部css有什么好处

PHP引用外部css的好处有:1、网页处理速度会更快一些;2、可以防止一些电脑程度较低的使用者直接看到CSS语法;3、维护方便。PHP引用外部css有什么好处?php页面外部调用css样式表时有三处优点:第一个好处:网页…