一个用java编写的记事本小程序.doc_第1页
一个用java编写的记事本小程序.doc_第2页
一个用java编写的记事本小程序.doc_第3页
一个用java编写的记事本小程序.doc_第4页
一个用java编写的记事本小程序.doc_第5页
已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论