




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025餐馆租赁合同范本
- 2025年三月制药设备配件防静电运输环境控制协议
- 2025年股权(虚拟股)分红合同协议范本模板
- 2025个人汽车消费贷款合同
- 提升仓库法务风险管理的意识计划
- 开展班级才艺展示活动的策划计划
- 城市水体治理的综合措施计划
- 班级个体差异的尊重与引导计划
- 2025-2030中国防火绝缘行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国防水板行业市场深度分析及前景趋势与投资研究报告
- 安徽省合肥市2025届高三下学期3月二模试题 语文 含解析
- 2024年全国统一高考英语试卷(新课标Ⅰ卷)含答案
- 普华永道财务管理与集团内部控制课件
- 小学教科版四年级下册科学《种子长出了根》教学反思
- 常用CMYK色值表大全
- 消化道出血护理ppt(共17张PPT)
- 珠三角一年断指四万
- 2022版义务教育(数学)课程标准(含2022年修订部分)
- 快板 绕口令 《玲珑塔》
- 台湾民法典目录
- 8.8级螺栓上海红本价
评论
0/150
提交评论