java 实现记事本_Java实现简单记事本

import java.awt.*;import java.awt.event.*;import java.io.*;import javax.swing.*;import javax.swing.text.*;//简单的文本编辑器

public class Editor extendsJFrame {public JTextPane textPane = new JTextPane(); //文本窗格d,编辑窗口

public JFileChooser filechooser = new JFileChooser(); //文件选择器

publicEditor()

{super("记事本");

Action[] actions= //菜单项的各种功能

{newNewAction(),newOpenAction(),newSaveAction(),newCutAction(),newCopyAction(),newPasteAction(),newAboutAction(),newExitAction(),newHelpAction()

};

setJMenuBar(createJMenuBar(actions));//根据actions创建菜单栏

Container container=getContentPane();

container.add(textPane, BorderLayout.CENTER);

setSize(800, 600);

setVisible(true);//setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}private JMenuBar createJMenuBar(Action[] actions) //创建菜单栏的函数

{

JMenuBar menubar=newJMenuBar();

JMenu menuFile=new JMenu("文件(F)");

JMenu menuEdit=new JMenu("编辑(E)");

JMenu menuAbout=new JMenu("帮助(H)");

menuFile.add(new JMenuItem(actions[0]));

menuFile.add(new JMenuItem(actions[1]));

menuFile.add(new JMenuItem(actions[2]));

menuFile.add(new JMenuItem(actions[7]));

menuEdit.add(new JMenuItem(actions[3]));

menuEdit.add(new JMenuItem(actions[4]));

menuEdit.add(new JMenuItem(actions[5]));

menuAbout.add(new JMenuItem(actions[6]));

menuAbout.add(new JMenuItem(actions[8]));

menubar.add(menuFile);

menubar.add(menuEdit);

menubar.add(menuAbout);returnmenubar;

}class NewAction extends AbstractAction //新建

{publicNewAction()

{super("新建(N) Ctrl+N");

}public voidactionPerformed(ActionEvent e)

{

textPane.setDocument(newDefaultStyledDocument());

}

}class OpenAction extends AbstractAction //打开

{publicOpenAction()

{super("打开(O) Ctrl+O");

}public voidactionPerformed(ActionEvent e)

{int i=filechooser.showOpenDialog(Editor.this); //显示打开文件对话框

if(i==JFileChooser.APPROVE_OPTION) //点击对话框打开选项

{

File f=filechooser.getSelectedFile(); //得到选择的文件

try{

InputStream is=newFileInputStream(f);

textPane.read(is,"d");

}catch(Exception ex)

{

ex.printStackTrace();

}

}

}

}class SaveAction extends AbstractAction //保存

{publicSaveAction()

{super("保存(S) Ctrl+S");

}public voidactionPerformed(ActionEvent e)

{int i=filechooser.showSaveDialog(Editor.this);if(i==JFileChooser.APPROVE_OPTION)

{

File f=filechooser.getSelectedFile();try{

FileOutputStream out=newFileOutputStream(f);

out.write(textPane.getText().getBytes());

}catch(Exception ex)

{

ex.printStackTrace();

}

}

}

}class ExitAction extends AbstractAction //退出

{publicExitAction()

{super("退出(X)");

}public voidactionPerformed(ActionEvent e)

{

dispose();

}

}class CutAction extends AbstractAction //剪切

{publicCutAction()

{super("剪切(T) Ctrl+X");

}public voidactionPerformed(ActionEvent e)

{

textPane.cut();

}

}class CopyAction extends AbstractAction //复制

{publicCopyAction()

{super("复制(C) Ctrl+C");

}public voidactionPerformed(ActionEvent e)

{

textPane.copy();

}

}class PasteAction extends AbstractAction //粘贴

{publicPasteAction()

{super("粘贴(P) Ctrl+V");

}public voidactionPerformed(ActionEvent e)

{

textPane.paste();

}

}class AboutAction extendsAbstractAction

{publicAboutAction()

{super("关于记事本(A)");

}public voidactionPerformed(ActionEvent e)

{

JOptionPane.showMessageDialog(Editor.this,"实现了记事本的一些基本功能","关于",JOptionPane.PLAIN_MESSAGE);

}

}class HelpAction extendsAbstractAction

{publicHelpAction()

{super("联系开发者");

}public voidactionPerformed(ActionEvent e)

{

JOptionPane.showMessageDialog(Editor.this,"meteor_disappears@foxmail.com","开发者:王子辰",JOptionPane.PLAIN_MESSAGE);

}

}public static voidmain(String[] args)

{newEditor();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值