代码:涉及记事本的一些界面......!!
1 /*
2 *java课程设计之记事本(coder @Gxjun)
3 * 编写一个记事本程序
4 * 要求:
5 * 用图形用户界面实现。
6 * 能实现编辑、保存、另存为、查找替换等功能。
7 * 提示:使用文件输入输出流。
8 */
9 package project;
10
11 import javax.swing.*;
12 import java.awt.*;
13 import java.awt.event.*; //引用类设置触发事件
14 import java.awt.event.KeyEvent;
15 import java.awt.event.InputEvent;
16 import static javax.swing.JFrame.*;
17
18 //设置一个窗口类
19 class WindowMenu extends JFrame
20 {
21 JMenuBar Mymenubar ;
22 JMenu menu[] = new JMenu [5]; //有多个菜单,用数组表示
23 JMenuItem item[][] =new JMenuItem [5][];
24 ActionListener mylistener; //声明一个触发响应事件
25 //构造函数
26 public WindowMenu() {}
27 public WindowMenu(String title , int x ,int y, int a, int b )
28 {
29 init( title ); //初始化窗口
30 setText(); //设置一个文本区域
31 setSize(a,b); //设置窗口大小
32 setLocation(x,y); //设置窗口位置
33 setVisible(true); //窗口是否可见
34 setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); //注销窗口
35 }
36
37 void init(String str) //设置一个初始化事件
38 {
39
40 int i;
41 setTitle(str);
42 Mymenubar = new JMenuBar(); //创建一个菜单条
43 menu[0] = new JMenu("文件(F)");
44 menu[1] = new JMenu("编辑(E)");
45 menu[2] = new JMenu("格式(O)");
46 menu[3] = new JMenu("查看(V)");
47 menu[4] = new JMenu("帮助(H)");
48 for(i=0; i<5;i++)
49 Mymenubar.add(menu[i]);
50 item[0] = new JMenuItem [7]; //项目条 数目
51 item[0][0] = new JMenuItem("新建(N)");
52 item[0][0].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK)); //设置快捷键
53 item[0][1] = new JMenuItem("打开(O)");
54 item[0][1].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
55 item[0][2] = new JMenuItem("保存(S)");
56 item[0][2].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
57 item[0][3] = new JMenuItem("另存为(A)");
58 item[0][3].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));
59 item[0][4] = new JMenuItem("页面设置(U)");
60 item[0][4].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U,InputEvent.CTRL_MASK));
61 item[0][5] = new JMenuItem("打印(P)");
62 item[0][5].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));
63 item[0][6] = new JMenuItem("退出(X)");
64 item[0][6].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
65 for(i=0;i<7;i++)
66 menu[0].add(item[0][i]);
67 //设置第二个版面的子菜单
68 item[1] = new JMenuItem [11]; //单独对二维数组分配空间
69 item[1][0] = new JMenuItem("撤销(U)"); //创建窗口条目
70 item[1][0].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,InputEvent.CTRL_MASK)); //将键盘关键字绑定到窗口上
71 item[1][1]=new JMenuItem("剪切(T)");
72 item[1][1].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
73 item[1][2] = new JMenuItem("复制(C)");
74 item[1][2].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C ,InputEvent.CTRL_MASK));
75 item[1][3] =new JMenuItem("粘贴(P)");
76 item[1][3].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P ,InputEvent.CTRL_MASK));
77 item[1][4] = new JMenuItem("删除(L)");
78 item[1][4].setAccelerator(KeyStroke.getKeyStroke("Del")); // int 型强制转换成为 char 型
79 item[1][5] = new JMenuItem("查找(F)");
80 item[1][5].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F ,InputEvent.CTRL_MASK));
81 item[1][6] = new JMenuItem("查找下一个(N)");
82 item[1][6].setAccelerator(KeyStroke.getKeyStroke("F3"));
83 item[1][7] = new JMenuItem("替换(R)");
84 item[1][7].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H,InputEvent.CTRL_MASK));
85 item[1][8] = new JMenuItem("转到(G)");
86 item[1][8].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G , InputEvent.CTRL_MASK));
87 item[1][9] = new JMenuItem("全选(A)");
88 item[1][9].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A , InputEvent.CTRL_MASK));
89 item[1][10] = new JMenuItem("时间/日期(D)");
90 item[1][10].setAccelerator(KeyStroke.getKeyStroke("F5"));
91 for(i=0;i<11;i++)
92 menu[1].add(item[1][i]);
93 item[2] = new JMenuItem [2];
94 item[2][0]= new JMenuItem("自动换行(W)");
95 item[2][0].setAccelerator(KeyStroke.getKeyStroke("W"));
96 item[2][1] = new JMenuItem("字体(F)");
97 item[2][1].setAccelerator(KeyStroke.getKeyStroke("F"));
98 for(i=0;i<2;i++)
99 menu[2].add(item[2][i]);
100 item[3] = new JMenuItem [1];
101 item[3][0] = new JMenuItem("状态栏(s)");
102 menu[3].add(item[3][0]);
103 item[4] = new JMenuItem [2];
104 item[4][0] = new JMenuItem("查看帮助(H)");
105 item[4][0].setAccelerator(KeyStroke.getKeyStroke("H"));
106 item[4][1] = new JMenuItem("关于记事本(A)");
107 item[4][1].setAccelerator(KeyStroke.getKeyStroke("A"));
108 for(i=0;i<2;i++)
109 menu[4].add(item[4][i]);
110 setJMenuBar(Mymenubar);
111 }
112 //放置一个文本框方法
113 void setText()
114 {
115 JTextArea myText;
116 myText = new JTextArea(100,200); //设置一个文本大大小
117 add(new JScrollPane(myText)); //将文本加载到窗口上去JScrollPane
118 //对文本的一个触发事件的封装
119 mylistener = new readerListen(); //调用触发一个自定义触发事件类,即即将要执行的动作
120 //myText.addActionListener(mylistener);
121 }
122 //放置响应触发事件
123
124
125 }
126 public class note_text {
127 public static void main(String args[])
128 {
129 WindowMenu mywind;
130 mywind= new WindowMenu("记事本",200,300,700,600);
131 }
132 }
java(课程设计之记事本界面部分代码公布),布布扣,bubuko.com
时间: 2024-10-08 16:04:43