已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 无人机电子技术基础课件 8.1.1 组合逻辑电路的分析
- 2026年装饰施工员《专业管理实务》考前冲刺模拟题库及答案详解1套
- 2026年七年级历史知识竞赛能力检测试卷【夺分金卷】附答案详解
- 2026年幼儿园大班比耳朵
- 2026年幼儿园寒假防溺水
- 2025福建福州城投德正数字科技有限公司招聘2人笔试参考题库附带答案详解
- 2025福建泉州晋江市兆丰建设开发有限公司招聘3人笔试参考题库附带答案详解
- 2025福建三明市三元区农林投资发展集团有限公司工程建设项目经营承包专业技术人才招聘笔试参考题库附带答案详解
- 2025湖南省自然资源资产经营有限公司招聘3人笔试参考题库附带答案详解
- 2025湖北恩施州巴东高峡旅行社有限公司招聘8人笔试参考题库附带答案详解
- GB/T 45007-2024职业健康安全管理体系小型组织实施GB/T 45001-2020指南
- 《钢材表面缺陷》课件
- 【小班幼儿园入园分离焦虑调研探析报告(附问卷)10000字(论文)】
- 危险化学品-危险化学品的贮存安全
- 计算材料-第一性原理课件
- 帽子发展史课件
- 安徽鼎元新材料有限公司岩棉保温防火复合板生产线项目环境影响报告表
- GB/T 4798.9-2012环境条件分类环境参数组分类及其严酷程度分级产品内部的微气候
- GB 20055-2006开放式炼胶机炼塑机安全要求
- GA/T 150-2019法医学机械性窒息尸体检验规范
- FZ/T 64034-2014纺粘/熔喷/纺粘(SMS)法非织造布
评论
0/150
提交评论