已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
package com.xs.pratice;import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyEvent;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import javax.swing.JCheckBoxMenuItem;import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JOptionPane;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.JTextPane;import javax.swing.KeyStroke;import javax.swing.WindowConstants;public class NotePadTest extends JFrame private static final long serialVersionUID = 7733222986650734523L;JMenuBar jmb = new JMenuBar();/ 创建子菜单JMenu jm1 = new JMenu(文件);JMenu jm2 = new JMenu(编辑);JMenu jm3 = new JMenu(格式);JMenu jm5 = new JMenu(帮助);/ 创建菜单项(文件)JMenuItem jme1 = new JMenuItem(新建);JMenuItem jme2 = new JMenuItem(打开);JMenuItem jme3 = new JMenuItem(保存);JMenuItem jme4 = new JMenuItem(另存为.);JMenuItem jme5 = new JMenuItem(退出);/ 创建菜单项(编辑)JMenuItem jme6 = new JMenuItem(全选);JMenuItem jme7 = new JMenuItem(剪切);JMenuItem jme8 = new JMenuItem(复制);JMenuItem jme9 = new JMenuItem(粘贴);JMenuItem jme10 = new JMenuItem(删除);/ 创建菜单项(格式)JCheckBoxMenuItem jme11 = new JCheckBoxMenuItem(自动换行, false);/ 创建菜单项(帮助)JMenuItem jme14 = new JMenuItem(查看帮助);JMenuItem jme15 = new JMenuItem(关于记事本);/ 实例化文本域JTextArea jtext = new JTextArea();JTextPane pane = new JTextPane();/ 文本窗格JScrollPane jscroll = new JScrollPane(jtext);JTextPane jtshow = new JTextPane();public NotePadTest() setTitle(记事本);setSize(500, 460);setLocationRelativeTo(null);pane.setLayout(new BorderLayout();/ 设置快捷键jme1.setMnemonic(N);jme1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, KeyEvent.CTRL_MASK);jme2.setMnemonic(O);jme2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, KeyEvent.CTRL_MASK);jme3.setMnemonic(S);jme3.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, KeyEvent.CTRL_MASK);jme6.setMnemonic(A);jme6.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, KeyEvent.CTRL_MASK);jme7.setMnemonic(X);jme7.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, KeyEvent.CTRL_MASK);jme8.setMnemonic(C);jme8.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, KeyEvent.CTRL_MASK);jme9.setMnemonic(V);jme9.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, KeyEvent.CTRL_MASK);jme10.setMnemonic(L);jme10.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L, KeyEvent.CTRL_MASK);/ 添加菜单项到子菜单(文件)jm1.add(jme1);jm1.addSeparator();jm1.add(jme2);jm1.addSeparator();jm1.add(jme3);jm1.addSeparator();jm1.add(jme4);jm1.addSeparator();jm1.add(jme5);jmb.add(jm1);/ 添加菜单项到子菜单(编辑)jm2.add(jme6);jm2.addSeparator();jm2.add(jme7);jm2.addSeparator();jm2.add(jme8);jm2.addSeparator();jm2.add(jme9);jm2.addSeparator();jm2.add(jme10);jmb.add(jm2);/ 添加菜单项到子菜单(格式)/ 设置快捷键jme11.setMnemonic(w);jme11.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_W, KeyEvent.CTRL_MASK);jm3.add(jme11);jmb.add(jm3);/ 添加菜单项到子菜单(帮助)jm5.add(jme14);jm5.addSeparator();jm5.add(jme15);jmb.add(jm5);/ 将菜单栏添加到窗体顶部setJMenuBar(jmb);/ container.add(jmb,BorderLayout.NORTH);/ 添加文本域pane.add(jscroll, BorderLayout.CENTER);add(pane);/ *添加事件监听器(全选部分)*jme6.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) jtext.selectAll();/ 全选);/ *添加事件监听器(剪切部分)*jme7.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) jtext.cut();/ 剪切);/ *添加事件监听器(复制部分)*jme8.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) jtext.copy();/ 复制);/ *添加事件监听器(粘贴部分)*jme9.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) jtext.paste();/ 粘贴);/ *添加事件监听器(删除部分)*jme10.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) jtext.replaceSelection(null);/ 删除);/ *添加事件监听器(新建部分)*jme1.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) if (jtext.getText().equals() jtext.setText(); else int result = JOptionPane.showConfirmDialog(NotePadTest.this, 是否将更改保存到无标题?, 记事本,JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE);if (result = 0) save(););/ *添加事件监听器(打开部分)*jme2.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) JFileChooser choose = new JFileChooser();choose.setDialogTitle(打开);File file;int result = choose.showOpenDialog(NotePadTest.this);if (result = JFileChooser.APPROVE_OPTION) try / 获取当前选择的文件/ 创建文件输出流file = choose.getSelectedFile();BufferedReader br = new BufferedReader(new FileReader(file);String str = null;while (str = br.readLine() != null) jtext.append(str + rn);/ 设置记事本标题setTitle(file.getName() + 记事本);br.close(); catch (Exception ee) ee.printStackTrace(););/ *添加事件监听器(保存部分)*jme3.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) if (jtext.getText() != null & !jtext.getText().equals() save(););/ *添加事件监听器(另存为部分)*jme4.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) if (jtext.getText() != null & !jtext.getText().equals() save(););/ *添加事件监听器(退出部分)*jme5.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) if (jtext.getText().equals() NotePadTest.this.dispose(); else int result = JOptionPane.showConfirmDialog(NotePadTest.this, 是否将更改保存到无标题?, 记事本,JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE);if (result = 0) if (jtext.getText() != null & !jtext.getText().equals() save(); else if (result = 1) NotePadTest.this.dispose(););/ *添加事件监听器(自动换行部分)*jme11.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) if (jme11.isSelected() jtext.setLineWrap(true); else jtext.setLineWrap(false););/ *添加事件监听器(查看帮助部分)*jme14.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) JOptionPane.showMessageDialog(NotePadTest.this, 输入文字即可!););/ *添加事件监听器(关于记事本部分)*jme15.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) JOptionPane.showMessageDialog(NotePadTest.this, 版本:Windows旗舰版););/ 设置窗体关闭if (jtext.getText().equals() setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); else if (jtext.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 绿色建筑智能照明控制系统的技术分析
- DBJ50∕T-217-2015 装配式住宅部品标准
- 中国锂电回收政策体系完善与梯次利用经济性临界点预测
- 结构抗风设计与实施方案
- 洛阳市教育局专项招聘公费师范毕业生考试真题2024
- 污水处理中水回用项目经济效益和社会效益分析报告
- 2025格鲁吉亚银行业市场分析技术创新产能规划政策支持规划分析研究报告
- 2025柚子行业市场全面剖析及发展趋势与资本运作策略深度报告
- 2025有线电视网络设备行业市场供需发展现状与资本投资规划分析报告
- 2025有机硅材料市场供需形势与产业投资发展评估报告
- 女性职场穿搭指南
- 2025年摩托车驾照考试题测试题及答案
- 环卫工人安全生产培训内容
- DB64T 2146-2025 工矿企业全员安全生产责任制建设指南
- 2025新能源发电集中功率预测系统技术方案
- JJF 2216-2025电磁流量计在线校准规范
- 研究生培养管理教育
- 2025年小学生科普知识竞赛练习题库及答案(200题)
- 2025青鸟消防应急疏散余压探测器JBF5634、JBF5635
- (完整版)保密工作奖惩制度
- 营养科培训课件
评论
0/150
提交评论