/*
*java课程设计之记事本(coder @Gxjun)
* 编写一个记事本程序
* 要求:
* 用图形用户界面实现。
* 能实现编辑、保存、另存为、查找替换等功能。
* 提示:使用文件输入输出流。
*/
package project; import javax.swing.*; import java.awt.event.KeyEvent;
import java.awt.event.InputEvent;
import static javax.swing.JFrame.*; //设置一个窗口类
class WindowMenu extends JFrame
{
JMenuBar Mymenubar ;
JMenu menu[] = new JMenu [5]; //有多个菜单,用数组表示
JMenuItem item[][] =new JMenuItem [5][];
//构造函数
public WindowMenu() {}
public WindowMenu(String title , int x ,int y, int a, int b )
{
init( title ); //初始化窗口
setSize(a,b); //设置窗口大小
setLocation(x,y); //设置窗口位置
setVisible(true); //窗口是否可见
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); //注销窗口
} void init(String str) //设置一个初始化事件
{ int i;
setTitle(str);
Mymenubar = new JMenuBar(); //创建一个菜单条
menu[0] = new JMenu("文件(F)");
menu[1] = new JMenu("编辑(E)");
menu[2] = new JMenu("格式(O)");
menu[3] = new JMenu("查看(V)");
menu[4] = new JMenu("帮助(H)");
for(i=0; i<5;i++)
Mymenubar.add(menu[i]);
item[0] = new JMenuItem [7]; //项目条 数目
item[0][0] = new JMenuItem("新建(N)");
item[0][0].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK)); //设置快捷键
item[0][1] = new JMenuItem("打开(O)");
item[0][1].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
item[0][2] = new JMenuItem("保存(S)");
item[0][2].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
item[0][3] = new JMenuItem("另存为(A)");
item[0][3].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));
item[0][4] = new JMenuItem("页面设置(U)");
item[0][4].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U,InputEvent.CTRL_MASK));
item[0][5] = new JMenuItem("打印(P)");
item[0][5].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));
item[0][6] = new JMenuItem("退出(X)");
item[0][6].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
for(i=0;i<7;i++)
menu[0].add(item[0][i]);
//设置第二个版面的子菜单
item[1] = new JMenuItem [11]; //单独对二维数组分配空间
item[1][0] = new JMenuItem("撤销(U)"); //创建窗口条目
item[1][0].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,InputEvent.CTRL_MASK)); //将键盘关键字绑定到窗口上
item[1][1]=new JMenuItem("剪切(T)");
item[1][1].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
item[1][2] = new JMenuItem("复制(C)");
item[1][2].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C ,InputEvent.CTRL_MASK));
item[1][3] =new JMenuItem("粘贴(P)");
item[1][3].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P ,InputEvent.CTRL_MASK));
item[1][4] = new JMenuItem("删除(L)");
item[1][4].setAccelerator(KeyStroke.getKeyStroke("Del")); // int 型强制转换成为 char 型
item[1][5] = new JMenuItem("查找(F)");
item[1][5].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F ,InputEvent.CTRL_MASK));
item[1][6] = new JMenuItem("查找下一个(N)");
item[1][6].setAccelerator(KeyStroke.getKeyStroke("F3"));
item[1][7] = new JMenuItem("替换(R)");
item[1][7].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H,InputEvent.CTRL_MASK));
item[1][8] = new JMenuItem("转到(G)");
item[1][8].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G , InputEvent.CTRL_MASK)); item[1][9] = new JMenuItem("全选(A)");
item[1][9].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A , InputEvent.CTRL_MASK));
item[1][10] = new JMenuItem("时间/日期(D)");
item[1][10].setAccelerator(KeyStroke.getKeyStroke("F5"));
for(i=0;i<11;i++)
menu[1].add(item[1][i]); setJMenuBar(Mymenubar);
}
}
public class note_text {
public static void main(String args[])
{
WindowMenu mywind;
mywind= new WindowMenu("记事本",200,300,700,600);
}
}

实现一些基本窗口模式,仅实现前两个......后面陆续更新!

课程设计(部分代码)之java版(记事本)的更多相关文章

  1. 网页爬虫的设计与实现(Java版)

    网页爬虫的设计与实现(Java版)     最近为了练手而且对网页爬虫也挺感兴趣,决定自己写一个网页爬虫程序. 首先看看爬虫都应该有哪些功能. 内容来自(http://www.ibm.com/deve ...

  2. 微信公众平台自定义菜单创建代码实现—java版

    搞了两天的自定义菜单,终于搞定了,现在分享下心得,以便后来者少走弯路...... 好了,先看先微信官方的API 官方写的很详细,但是我看完后很茫然,不知道你们什么感觉.  我知道是post一个带参数的 ...

  3. 课程设计-基于SSM的在线课程教学系统代码-基于java的线上课程资源共享论坛系统

    注意:该项目只展示部分功能,如需了解,评论区咨询即可. 1.开发环境 开发语言:Java 后台框架:SSM 前端框架:vue 数据库:MySQL 设计模式:MVC 架构:B/S 源码类型: Web 编 ...

  4. JAVA面向对象编程课程设计——web版斗地主

    一.团队课程设计博客链接 JAVA面向对象编程课程设计--网络版单机斗地主 二.个人负责模块或任务说明 实体类的设计 斗地主规则的实现 人机自动出牌的算法 实现数据库的DAO模式 三.自己的代码提交记 ...

  5. Java课程设计——象棋(201521123042 姚佳希)

    1. 团队课程设计博客链接 Java课程设计(团队版) 2 个人负责模块或任务说明 ChessBoard类创建棋盘及界面. ChessPoint类创建棋盘格点及界面. ChessPiece类创建棋子及 ...

  6. Java课程设计-计算器 郑子杰(201521123021)

    1.团队课程设计博客链接 http://www.cnblogs.com/I-love-java/p/7058752.html 2.个人负责模块或任务说明 ①图形界面的初始化 ②图形界面的排版设计 ③主 ...

  7. java版微信公众平台自定义菜单创建代码实现

    微信公众平台自定义菜单创建代码实现—java版 搞了两天的自定义菜单,终于搞定了,现在分享下心得,以便后来者少走弯路...... 好了,先看先微信官方的API 官方写的很详细,但是我看完后很茫然,不知 ...

  8. java课程设计——猜数游戏个人博客

    1.团队课程设计链接 团队博客:http://www.cnblogs.com/springbreezemiles/p/7064135.html 2.个人负责模块 猜数部分的算法及代码实现. 3.自己的 ...

  9. JAVA课程设计——一个简单的教务人事管理系统

    大三上学期期末总结,没错,上学期,写在下学期新学期开始,哈哈哈. 上学期学习了面向对象程序设计,课程设计的题目使用JAVA语言完成一个简单的教务人事管理系统,能够实现访问数据库的登录验证,分别按部门和 ...

随机推荐

  1. [HDOJ1231]最大连续子序列

    混了好几个地方的博客,还是觉得博客园比较靠谱,于是决定在这里安家落户了.本人本科生一个,希望各位巨巨多多指教~ Hello World! 单独一个象征性的问候实在是太low了,还是决定来点实质性的.. ...

  2. 数据词典与ABAP类型映射

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  3. JAVA运算符和优先级

    1.算术运算符: ++ 和 -- 既可以出现在操作数的左边,也可以出现在右边,但结果是不同,如: ①int a=5: int b=a++: #先把a赋给b,a再自增 ②int a=5: int b=+ ...

  4. So easy Webservice 4.Java方式访问WebService(使用jdk1.6以上 wsimport命令)

    1.选中要调用的服务单击”服务说明” 2.获取wsdl文件.使用JDK1.6以上的版本的wsimport命令 a) 例如选中:http://webservice.webxml.com.cn/WebSe ...

  5. python_way day15 HTML-DAY2 HTML-DAY2、JS

    python_way day15 HTML-DAY2 html-css回顾 javascript 一.html-css回顾 1.input与+,-号的写法 <!DOCTYPE html> ...

  6. JMS【四】--Spring和ActiveMQ整合的完整实例

    第一篇博文JMS[一]--JMS基本概念,我们介绍了JMS的两种消息模型:点对点和发布订阅模型,以及消息被消费的两个方式:同步和异步,JMS编程模型的对象,最后说了JMS的优点. 第二篇博文JMS[二 ...

  7. ZOJ-2365 Strong Defence 无公共边割边集

    题意:该题的题意晦涩,勉勉强强听别人说了一遍后再读了一遍题才算懂了题意,题图说的是A国因为B国药进攻自己的国家,于是想办法在联通A-B之间的路径上进行阻击.阻击的舰船停留在一个路径上,舰船上都要放置水 ...

  8. iOS - OC NSSet 集合

    前言 NSSet:集合 @interface NSSet<__covariant ObjectType> : NSObject <NSCopying, NSMutableCopyin ...

  9. iOS - Swift NSEnumerator 迭代器

    前言 public class NSEnumerator : NSObject, NSFastEnumeration 1.迭代器 let arr:NSArray = ["bei", ...

  10. Tomcat6.0的Thisisverylikelytocreateamemoryleak异常

    從Apache Tomcat 5.5升級到6.0,通常不用太大的修改,原有的Web Application就能繼續運作.不過在server.xml中設定MySQL Datasource,卻出現一串惱人 ...