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,一经查实,立即删除!

相关文章

响应式网页设计

viewport 定义 可视区域移动端:布局视口(大部分980px)/理想视口(视口宽度设备宽度)设置 <meta name"viewport" content"widthdevice-width,initial-scale1.0"> 设置选项 width 视口宽度 通常设置为device-widthheight 视口高度initical-calse 初始化…

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配置入门-邮件短信通知

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

img=img%3e128 matlab,Matlab中一般的数值计算和使用

前言Matlab中的计算可以分为符号计算和数值计算前面所讲的都是数值计算,今天我们来讲关于符号计算符号计算的第一步就是定义符号syms a,b,c %定义多个符号变量a,b,csym(a) %定义单个符号变量一些常用的函数limitlimit(f):x趋于0时,函数f(x)的极限limit(f,x,a)或limit(f,a) :x趋…

spring boot 读取 application.properties 初始化bean

application.properties bean1.hello 你好~bean2.name name bean2.title titlebean3.info[name] name bean3.info[title] title bean3.info[age] agebean4.info[0] name0 bean4.info[1] name1 bean4.info[2] name2 bean4.info[3] name3BeanController Rest…

基于SOA的体系架构设计

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

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

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

将tomcat添加到服务中

转载自&#xff1a;http://blog.csdn.net/zjd934784273/article/details/47701011&#xff08;windows&#xff09; &#xff1a;http://www.cnblogs.com/ilahsa/p/linux.html(linux) (windows)一定要以管理员的身份启动cmd dos窗口进行操作如何将解压缩版的tomcat加入windows系…

软件开发者面试百问

想雇到搞软件开发的聪明人可不容易。万一一不小心&#xff0c;就会搞到一堆低能大狒狒。我去年就碰到这种事了。你肯定不想这样吧。听我的&#xff0c;没错。在树上开站立会议门都没有。问点有难度的问题能帮你把聪明人跟狒狒们分开。我决定把我自己整理出来的软件开发者面试百…

matlab模糊推理,模糊推理系统的matlab代码

【实例简介】该文件包中包含了6个文件&#xff0c;分别为不同的模糊推理系统&#xff0c;主要是用matlab编写的【实例截图】【核心代码】fuzzy└── fuzzy├── 158113737anfisExample_book-│ ├── anfisExample_book.m│ └── ANFIS.pdf├── 794830365fuzzpid│ …

编译原理 实例

http://www.cnblogs.com/nzhl/category/824732.html转载于:https://www.cnblogs.com/zengkefu/p/7337226.html

你不了解PHP的10件事情

你不了解PHP的10件事情,转自http://www.ccvita.com/302.html 看到有人翻译的《10 things you (probably) didn’t know about PHP》&#xff0c;发现在此次之前2、8两条并不知道&#xff0c;1、3虽然熟知但是去没有实际应用。由于阅读本blog的绝大多数朋友都是有PHP基础的&…

Node mysql

const mysql require("mysql");var conn mysql.createConnection({ host:"127.0.0.1", user:root, password:, database:jd, port:3306});//2:发送sql//conn.query("INSERT INTO jd_user VALUES(null,?,?)",[tom,123],(err,result)>{ //i…

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

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

出师表《80后传》

出师表《80后传》 夫80后者&#xff0c; 初从文&#xff0c; 未及义务教育之免费&#xff0c; 不见高等学校之分配&#xff0c; 适值扩招&#xff0c; 过五关&#xff0c; 斩六将&#xff0c; 硕博相继&#xff0c; 寒窗数载&#xff0c; 二十四乃成&#xff0c; 负债十万。 觅…

回顾模块3

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