import java.awt.*;
import java.awt.event.InputEvent;
import java.awt.event.InputMethodEvent;
import java.awt.event.KeyEvent;
import javax.swing.*;
public class Window012 extends JFrame{
//文件组定义组件
JMenuBar jmb;//菜单条组件
JMenu menu1,menu2,menu3,menu4,menu5;//主菜单:文件、编辑、格式、查看、帮助
JMenuItem item2,item3,item4,item5,item6,item7;//子菜单:新建、打开、保存、另存为、页面设置、打印、退出
JMenu xinjian;//二级菜单
JMenuItem file,project;
//编辑组定义组件
//编辑:撤消、剪切、复制、粘贴、删除、查找、查找下一个、替换、转到、全选、时间/日期
JMenuItem eitem1,eitem2,eitem3,eitem4,eitem5,eitem6,eitem7,eitem8,eitem9,eitem10,eitem11;
//格式组定义组件
JMenuItem oitem1,oitem2;//格式:自动换行、字体
//查看组定义组件
JMenuItem vitem1;//查看:状态栏
//帮助组定义组件
JMenuItem hitem1,hitem2;//帮助:查看帮助、关于记事本
JTextArea jta;
//工具条
JToolBar jtb;
JButton jb1,jb2,jb3,jb4,jb5,jb6,jb7,jb8;
public static void main(String[] args) {
Window012 win=new Window012();
}
//构造函数
public Window012(){
//构建组件
//工具条
jtb=new JToolBar();
jb1=new JButton(new ImageIcon("images/new.jpg"));
jb1.setToolTipText("新建");//设置提示信息
jb2=new JButton(new ImageIcon("images/open.jpg"));
jb2.setToolTipText("打开");
jb3=new JButton(new ImageIcon("images/save.jpg"));
jb3.setToolTipText("保存");
jb4=new JButton(new ImageIcon("images/copy.jpg"));
jb4.setToolTipText("复制");
jb5=new JButton(new ImageIcon("images/delete.jpg"));
jb5.setToolTipText("删除");
jb6=new JButton(new ImageIcon("images/modify.jpg"));
jb6.setToolTipText("编辑");
jb7=new JButton(new ImageIcon("images/print.jpg"));
jb7.setToolTipText("打印");
jb8=new JButton(new ImageIcon("images/close.jpg"));
jb8.setToolTipText("关闭");
jmb=new JMenuBar();
//主菜单
menu1=new JMenu("文件(F)");
menu1.setMnemonic('F');//设置助记符
menu2=new JMenu("编辑(E)");
menu2.setMnemonic('E');
menu3=new JMenu("格式(O)");
menu3.setMnemonic('O');
menu4=new JMenu("查看(V)");
menu4.setMnemonic('V');
menu5=new JMenu("帮助(H)");
menu5.setMnemonic('H');
//文件--新建--子目录
xinjian=new JMenu("新建");
file=new JMenuItem("文件");
project=new JMenuItem("工程");
item2=new JMenuItem("打开(O)");
item2.setMnemonic('O');
item2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));//设置ctrl快捷组合键
item3=new JMenuItem("保存(S)");
item3.setMnemonic('S');
item3.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
item4=new JMenuItem("另存为(A)");
item4.setMnemonic('A');
item5=new JMenuItem("页面设置(U)");
item5.setMnemonic('U');
item6=new JMenuItem("打印(P)");
item6.setMnemonic('P');
item6.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));
item7=new JMenuItem("退出(X)");
item7.setMnemonic('X');
eitem1=new JMenuItem("撤消(U)");
eitem1.setMnemonic('U');
eitem1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U,InputEvent.CTRL_MASK));
eitem2=new JMenuItem("剪切(T)");
eitem2.setMnemonic('T');
eitem2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_T,InputEvent.CTRL_MASK));
eitem3=new JMenuItem("复制(C)");
eitem3.setMnemonic('C');
eitem3.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));
eitem4=new JMenuItem("粘贴(P)");
eitem4.setMnemonic('P');
eitem4.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));
eitem5=new JMenuItem("删除(L)");
eitem5.setMnemonic('L');
eitem5.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE,0));
eitem6=new JMenuItem("查找(F)");
eitem6.setMnemonic('F');
eitem6.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,InputEvent.CTRL_MASK));
eitem7=new JMenuItem("查找下一个(N)");
eitem7.setMnemonic('N');
eitem7.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F3,0));
eitem8=new JMenuItem("替换(R)");
eitem8.setMnemonic('R');
eitem8.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R,InputEvent.CTRL_MASK));
eitem9=new JMenuItem("转到(G)");
eitem9.setMnemonic('G');
eitem9.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G,InputEvent.CTRL_MASK));
eitem10=new JMenuItem("全选(A)");
eitem10.setMnemonic('A');
eitem10.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));
eitem11=new JMenuItem("时间/日期(D)");
eitem11.setMnemonic('D');
eitem11.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F5,0));
oitem1=new JMenuItem("自动换行(W)");
oitem1.setMnemonic('W');
oitem2=new JMenuItem("字体(F)");
oitem2.setMnemonic('F');
vitem1=new JMenuItem("状态栏(S)");
vitem1.setMnemonic('S');
hitem1=new JMenuItem("查看帮助(H)");
hitem1.setMnemonic('H');
hitem2=new JMenuItem("关于记事本(A)");
hitem2.setMnemonic('A');
jta=new JTextArea();
//设定布局管理器
//加入组件
//将按钮添加到工具条上
jtb.add(jb1);
jtb.add(jb2);
jtb.add(jb3);
jtb.add(jb4);
jtb.add(jb5);
jtb.add(jb6);
jtb.add(jb7);
jtb.add(jb8);
//将菜单项添加到菜单上
xinjian.add(file);
xinjian.add(project);
menu1.add(xinjian);
menu1.add(item2);
menu1.add(item3);
menu1.add(item4);
menu1.addSeparator();//添加分割线
menu1.add(item5);
menu1.add(item6);
menu1.addSeparator();
menu1.add(item7);
menu2.add(eitem1);
menu2.addSeparator();
menu2.add(eitem2);
menu2.add(eitem3);
menu2.add(eitem4);
menu2.add(eitem5);
menu2.addSeparator();
menu2.add(eitem6);
menu2.add(eitem7);
menu2.add(eitem8);
menu2.add(eitem9);
menu2.addSeparator();
menu2.add(eitem10);
menu2.add(eitem11);
menu3.add(oitem1);
menu3.add(oitem2);
menu4.add(vitem1);
menu5.add(hitem1);
menu5.addSeparator();
menu5.add(hitem2);
//将菜单添加到菜单条上
jmb.add(menu1);
jmb.add(menu2);
jmb.add(menu3);
jmb.add(menu4);
jmb.add(menu5);
//将菜单条添加到窗体上
this.setJMenuBar(jmb);
//将工具条添加到窗体上
this.add(jtb,BorderLayout.NORTH);
JScrollPane jsp=new JScrollPane(jta);
jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
this.add(jsp);
//窗体设置
this.setTitle("Java记事本");
this.setSize(500, 400);
this.setLocationRelativeTo(null);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
1import java.awt.*;
2import java.awt.event.InputEvent;
3import java.awt.event.InputMethodEvent;
4import java.awt.event.KeyEvent;
5import javax.swing.*;
6public class Window012 extends JFrame{
7//文件组定义组件
8JMenuBar jmb;//菜单条组件
9JMenu menu1,menu2,menu3,menu4,menu5;//主菜单:文件、编辑、格式、查看、帮助
10JMenuItem item2,item3,item4,item5,item6,item7;//子菜单:新建、打开、保存、另存为、页面设置、打印、退出
11JMenu xinjian;//二级菜单
12JMenuItem file,project;
13
14//编辑组定义组件
15//编辑:撤消、剪切、复制、粘贴、删除、查找、查找下一个、替换、转到、全选、时间/日期
16JMenuItem eitem1,eitem2,eitem3,eitem4,eitem5,eitem6,eitem7,eitem8,eitem9,eitem10,eitem11;
17
18//格式组定义组件
19JMenuItem oitem1,oitem2;//格式:自动换行、字体
20
21//查看组定义组件
22JMenuItem vitem1;//查看:状态栏
23
24//帮助组定义组件
25JMenuItem hitem1,hitem2;//帮助:查看帮助、关于记事本
26
27JTextArea jta;
28//工具条
29JToolBar jtb;
30JButton jb1,jb2,jb3,jb4,jb5,jb6,jb7,jb8;
31
32public static void main(String[] args) {
33Window012 win=new Window012();
34}
35//构造函数
36public Window012(){
37//构建组件
38//工具条
39jtb=new JToolBar();
40jb1=new JButton(new ImageIcon("images/new.jpg"));
41jb1.setToolTipText("新建");//设置提示信息
42jb2=new JButton(new ImageIcon("images/open.jpg"));
43jb2.setToolTipText("打开");
44jb3=new JButton(new ImageIcon("images/save.jpg"));
45jb3.setToolTipText("保存");
46jb4=new JButton(new ImageIcon("images/copy.jpg"));
47jb4.setToolTipText("复制");
48jb5=new JButton(new ImageIcon("images/delete.jpg"));
49jb5.setToolTipText("删除");
50jb6=new JButton(new ImageIcon("images/modify.jpg"));
51jb6.setToolTipText("编辑");
52jb7=new JButton(new ImageIcon("images/print.jpg"));
53jb7.setToolTipText("打印");
54jb8=new JButton(new ImageIcon("images/close.jpg"));
55jb8.setToolTipText("关闭");
56
57jmb=new JMenuBar();
58//主菜单
59menu1=new JMenu("文件(F)");
60menu1.setMnemonic('F');//设置助记符
61menu2=new JMenu("编辑(E)");
62menu2.setMnemonic('E');
63menu3=new JMenu("格式(O)");
64menu3.setMnemonic('O');
65menu4=new JMenu("查看(V)");
66menu4.setMnemonic('V');
67menu5=new JMenu("帮助(H)");
68menu5.setMnemonic('H');
69
70//文件--新建--子目录
71xinjian=new JMenu("新建");
72file=new JMenuItem("文件");
73project=new JMenuItem("工程");
74
75item2=new JMenuItem("打开(O)");
76item2.setMnemonic('O');
77item2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));//设置ctrl快捷组合键
78item3=new JMenuItem("保存(S)");
79item3.setMnemonic('S');
80item3.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
81item4=new JMenuItem("另存为(A)");
82item4.setMnemonic('A');
83item5=new JMenuItem("页面设置(U)");
84item5.setMnemonic('U');
85item6=new JMenuItem("打印(P)");
86item6.setMnemonic('P');
87item6.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));
88item7=new JMenuItem("退出(X)");
89item7.setMnemonic('X');
90
91eitem1=new JMenuItem("撤消(U)");
92eitem1.setMnemonic('U');
93eitem1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U,InputEvent.CTRL_MASK));
94eitem2=new JMenuItem("剪切(T)");
95eitem2.setMnemonic('T');
96eitem2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_T,InputEvent.CTRL_MASK));
97eitem3=new JMenuItem("复制(C)");
98eitem3.setMnemonic('C');
99eitem3.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));
100eitem4=new JMenuItem("粘贴(P)");
101eitem4.setMnemonic('P');
102eitem4.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));
103eitem5=new JMenuItem("删除(L)");
104eitem5.setMnemonic('L');
105eitem5.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE,0));
106eitem6=new JMenuItem("查找(F)");
107eitem6.setMnemonic('F');
108eitem6.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,InputEvent.CTRL_MASK));
109eitem7=new JMenuItem("查找下一个(N)");
110eitem7.setMnemonic('N');
111eitem7.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F3,0));
112eitem8=new JMenuItem("替换(R)");
113eitem8.setMnemonic('R');
114eitem8.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R,InputEvent.CTRL_MASK));
115eitem9=new JMenuItem("转到(G)");
116eitem9.setMnemonic('G');
117eitem9.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G,InputEvent.CTRL_MASK));
118eitem10=new JMenuItem("全选(A)");
119eitem10.setMnemonic('A');
120eitem10.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));
121eitem11=new JMenuItem("时间/日期(D)");
122eitem11.setMnemonic('D');
123eitem11.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F5,0));
124
125oitem1=new JMenuItem("自动换行(W)");
126oitem1.setMnemonic('W');
127oitem2=new JMenuItem("字体(F)");
128oitem2.setMnemonic('F');
129
130vitem1=new JMenuItem("状态栏(S)");
131vitem1.setMnemonic('S');
132
133hitem1=new JMenuItem("查看帮助(H)");
134hitem1.setMnemonic('H');
135hitem2=new JMenuItem("关于记事本(A)");
136hitem2.setMnemonic('A');
137
138jta=new JTextArea();
139
140//设定布局管理器
141
142//加入组件
143//将按钮添加到工具条上
144jtb.add(jb1);
145jtb.add(jb2);
146jtb.add(jb3);
147jtb.add(jb4);
148jtb.add(jb5);
149jtb.add(jb6);
150jtb.add(jb7);
151jtb.add(jb8);
152
153//将菜单项添加到菜单上
154xinjian.add(file);
155xinjian.add(project);
156
157menu1.add(xinjian);
158menu1.add(item2);
159menu1.add(item3);
160menu1.add(item4);
161menu1.addSeparator();//添加分割线
162menu1.add(item5);
163menu1.add(item6);
164menu1.addSeparator();
165menu1.add(item7);
166
167menu2.add(eitem1);
168menu2.addSeparator();
169menu2.add(eitem2);
170menu2.add(eitem3);
171menu2.add(eitem4);
172menu2.add(eitem5);
173menu2.addSeparator();
174menu2.add(eitem6);
175menu2.add(eitem7);
176menu2.add(eitem8);
177menu2.add(eitem9);
178menu2.addSeparator();
179menu2.add(eitem10);
180menu2.add(eitem11);
181
182menu3.add(oitem1);
183menu3.add(oitem2);
184
185menu4.add(vitem1);
186
187menu5.add(hitem1);
188menu5.addSeparator();
189menu5.add(hitem2);
190
191//将菜单添加到菜单条上
192jmb.add(menu1);
193jmb.add(menu2);
194jmb.add(menu3);
195jmb.add(menu4);
196jmb.add(menu5);
197
198//将菜单条添加到窗体上
199this.setJMenuBar(jmb);
200
201//将工具条添加到窗体上
202this.add(jtb,BorderLayout.NORTH);
203
204JScrollPane jsp=new JScrollPane(jta);
205jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
206this.add(jsp);
207
208//窗体设置
209this.setTitle("Java记事本");
210this.setSize(500, 400);
211this.setLocationRelativeTo(null);
212this.setVisible(true);
213this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
214}
215}