课程设计(部分代码)之java版(记事本)
时间:2022-05-05
本文章向大家介绍课程设计(部分代码)之java版(记事本),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1 /*
2 *java课程设计之记事本(coder @Gxjun)
3 * 编写一个记事本程序
4 * 要求:
5 * 用图形用户界面实现。
6 * 能实现编辑、保存、另存为、查找替换等功能。
7 * 提示:使用文件输入输出流。
8 */
9 package project;
10
11 import javax.swing.*;
12
13 import java.awt.event.KeyEvent;
14 import java.awt.event.InputEvent;
15 import static javax.swing.JFrame.*;
16
17 //设置一个窗口类
18 class WindowMenu extends JFrame
19 {
20 JMenuBar Mymenubar ;
21 JMenu menu[] = new JMenu [5]; //有多个菜单,用数组表示
22 JMenuItem item[][] =new JMenuItem [5][];
23 //构造函数
24 public WindowMenu() {}
25 public WindowMenu(String title , int x ,int y, int a, int b )
26 {
27 init( title ); //初始化窗口
28 setSize(a,b); //设置窗口大小
29 setLocation(x,y); //设置窗口位置
30 setVisible(true); //窗口是否可见
31 setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); //注销窗口
32 }
33
34 void init(String str) //设置一个初始化事件
35 {
36
37 int i;
38 setTitle(str);
39 Mymenubar = new JMenuBar(); //创建一个菜单条
40 menu[0] = new JMenu("文件(F)");
41 menu[1] = new JMenu("编辑(E)");
42 menu[2] = new JMenu("格式(O)");
43 menu[3] = new JMenu("查看(V)");
44 menu[4] = new JMenu("帮助(H)");
45 for(i=0; i<5;i++)
46 Mymenubar.add(menu[i]);
47 item[0] = new JMenuItem [7]; //项目条 数目
48 item[0][0] = new JMenuItem("新建(N)");
49 item[0][0].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK)); //设置快捷键
50 item[0][1] = new JMenuItem("打开(O)");
51 item[0][1].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
52 item[0][2] = new JMenuItem("保存(S)");
53 item[0][2].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
54 item[0][3] = new JMenuItem("另存为(A)");
55 item[0][3].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));
56 item[0][4] = new JMenuItem("页面设置(U)");
57 item[0][4].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U,InputEvent.CTRL_MASK));
58 item[0][5] = new JMenuItem("打印(P)");
59 item[0][5].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));
60 item[0][6] = new JMenuItem("退出(X)");
61 item[0][6].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
62 for(i=0;i<7;i++)
63 menu[0].add(item[0][i]);
64 //设置第二个版面的子菜单
65 item[1] = new JMenuItem [11]; //单独对二维数组分配空间
66 item[1][0] = new JMenuItem("撤销(U)"); //创建窗口条目
67 item[1][0].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,InputEvent.CTRL_MASK)); //将键盘关键字绑定到窗口上
68 item[1][1]=new JMenuItem("剪切(T)");
69 item[1][1].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
70 item[1][2] = new JMenuItem("复制(C)");
71 item[1][2].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C ,InputEvent.CTRL_MASK));
72 item[1][3] =new JMenuItem("粘贴(P)");
73 item[1][3].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P ,InputEvent.CTRL_MASK));
74 item[1][4] = new JMenuItem("删除(L)");
75 item[1][4].setAccelerator(KeyStroke.getKeyStroke("Del")); // int 型强制转换成为 char 型
76 item[1][5] = new JMenuItem("查找(F)");
77 item[1][5].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F ,InputEvent.CTRL_MASK));
78 item[1][6] = new JMenuItem("查找下一个(N)");
79 item[1][6].setAccelerator(KeyStroke.getKeyStroke("F3"));
80 item[1][7] = new JMenuItem("替换(R)");
81 item[1][7].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H,InputEvent.CTRL_MASK));
82 item[1][8] = new JMenuItem("转到(G)");
83 item[1][8].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G , InputEvent.CTRL_MASK));
84 item[1][9] = new JMenuItem("全选(A)");
85 item[1][9].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A , InputEvent.CTRL_MASK));
86 item[1][10] = new JMenuItem("时间/日期(D)");
87 item[1][10].setAccelerator(KeyStroke.getKeyStroke("F5"));
88 for(i=0;i<11;i++)
89 menu[1].add(item[1][i]);
90
91 setJMenuBar(Mymenubar);
92 }
93 }
94 public class note_text {
95 public static void main(String args[])
96 {
97 WindowMenu mywind;
98 mywind= new WindowMenu("记事本",200,300,700,600);
99 }
100 }
实现一些基本窗口模式,仅实现前两个......后面陆续更新!
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Ansible自动化运维学习笔记4
- 《零基础看得懂的C语言入门教程 》——(三)轻轻松松理解第一个C语言程序
- Python自动化运维2
- AirTest 基本使用及框架浅剖析——五分钟上手制作游戏辅助
- 【面试题】734- 从一道面试题谈谈对 EventLoop 的理解
- (上)python3 selenium3 从框架实现代码学习selenium让你事半功倍
- (下)python3 selenium3 从框架实现代码学习selenium让你事半功倍
- 【Vuejs】738- 一篇文章上手Vue3中新增的API
- Python自动化运维1
- python图形绘制库turtle中文开发文档及示例大全【最详细、连结果图都有,gif格式的!】
- 【JS】739- JavaScript 解析 URL
- 一篇文教你使用python Turtle库画出“精美碎花小清新风格树”快来拿代码!
- 1-Go快速学习入门
- python 手把手教你基于搜索引擎实现文章查重
- JAVA入门学习七