Java记事本代码.doc_第1页
Java记事本代码.doc_第2页
Java记事本代码.doc_第3页
Java记事本代码.doc_第4页
Java记事本代码.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序源代码:/记事本import java.awt.BorderLayout;import java.awt.Color;import java.awt.Container;import java.awt.FlowLayout;import java.awt.Font;import java.awt.Graphics;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import javax.swing.AbstractAction;import javax.swing.Action;import javax.swing.JButton;import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JPasswordField;import javax.swing.JTextField;import javax.swing.JTextPane;import javax.swing.JToolBar;import javax.swing.border.MatteBorder;import javax.swing.text.DefaultEditorKit.CopyAction;import javax.swing.text.DefaultEditorKit.CutAction;import javax.swing.text.DefaultEditorKit.PasteAction;import javax.swing.text.DefaultStyledDocument;public class EditorDemo extends JFrame JTextPane textPane = new JTextPane(); / 文本窗格,编辑窗口JLabel statusBar = new JLabel(); / 状态栏JFileChooser filechooser = new JFileChooser(); / 文件选择器public EditorDemo() / 构造函数super(简易记事本); / 调用父类构造函数Action actions = / Action数组,各种操作命令 new NewAction(), new OpenAction(), new SaveAction(), new CutAction(),new CopyAction(), new PasteAction(), new AboutAction(),new ExitAction(), ;setJMenuBar(createJMenuBar(actions); / 设置菜单栏Container container = getContentPane(); / 得到容器container.add(createJToolBar(actions), BorderLayout.NORTH); / 增加工具栏container.add(textPane, BorderLayout.CENTER); / 增加文本窗格container.add(statusBar, BorderLayout.SOUTH); / 增加状态栏setSize(500, 400); / 设置窗口尺寸/setVisible(true); / 设置窗口可视setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); / 关闭窗口时退出程序private JMenuBar createJMenuBar(Action actions) / 创建菜单栏JMenuBar menubar = new JMenuBar(); / 实例化菜单栏JMenu menuFile = new JMenu(文件(F); / 实例化菜单JMenu menuEdit = new JMenu(编辑(E);JMenu menuFormat = new JMenu(格式(O);JMenu menuFind = new JMenu(查找(V);JMenu menuAbout = new JMenu(帮助(H);menuFile.add(new JMenuItem(actions0); / 增加新菜单项menuFile.add(new JMenuItem(actions1);menuFile.add(new JMenuItem(actions2);menuFile.addSeparator();menuFile.add(new JMenuItem(actions7);menuEdit.add(new JMenuItem(actions3);menuEdit.add(new JMenuItem(actions4);menuEdit.add(new JMenuItem(actions5);menuAbout.add(new JMenuItem(actions6);menubar.add(menuFile); / 增加菜单menubar.add(menuEdit);menubar.add(menuFormat);menubar.add(menuFind);menubar.add(menuAbout);return menubar; / 返回菜单栏private JToolBar createJToolBar(Action actions) / 创建工具条JToolBar toolBar = new JToolBar(); / 实例化工具条for (int i = 0; i actions.length; i+) JButton bt = new JButton(actionsi); / 实例化新的按钮bt.setRequestFocusEnabled(false); / 设置不需要焦点bt.setFont(new Font(宋体, Font.PLAIN, 12);bt.setBackground(Color.pink);toolBar.add(bt); / 增加按钮到工具栏return toolBar; / 返回工具栏class NewAction extends AbstractAction / 新建文件命令public NewAction() super(新建文本);public void actionPerformed(ActionEvent e) textPane.setDocument(new DefaultStyledDocument(); / 清空文档class OpenAction extends AbstractAction / 打开文件命令public OpenAction() super(打开文本);public void actionPerformed(ActionEvent e) int i = filechooser.showOpenDialog(EditorDemo.this); / 显示打开文件对话框if (i = JFileChooser.APPROVE_OPTION) / 点击对话框中打开选项File f = filechooser.getSelectedFile(); / 得到选择的文件try InputStream is = new FileInputStream(f); / 得到文件输入流textPane.read(is, d); / 读入文件到文本窗格 catch (Exception ex) ex.printStackTrace(); / 输出出错信息class SaveAction extends AbstractAction / 保存命令public SaveAction() super(保存文本);public void actionPerformed(ActionEvent e) int i = filechooser.showSaveDialog(EditorDemo.this); / 显示保存文件对话框if (i = JFileChooser.APPROVE_OPTION) / 点击对话框中保存按钮File f = filechooser.getSelectedFile(); / 得到选择的文件try FileOutputStream out = new FileOutputStream(f); / 得到文件输出流out.write(textPane.getText().getBytes(); / 写出文件 catch (Exception ex) ex.printStackTrace(); / 输出出错信息class ExitAction extends AbstractAction / 退出命令public ExitAction() super(退出系统);public void actionPerformed(ActionEvent e) System.exit(0); / 退出程序class CutAction extends AbstractAction / 剪切命令public CutAction() super(剪切);public void actionPerformed(ActionEvent e) textPane.cut(); / 调用文本窗格的剪切命令class CopyAction extends AbstractAction / 拷贝命令public CopyAction() super(拷贝);public void actionPerformed(ActionEvent e) textPane.copy(); / 调用文本窗格的拷贝命令class PasteAction extends AbstractAction / 粘贴命令public PasteAction() super(粘贴);public void actionPerformed(ActionEvent e) textPane.paste(); / 调用文本窗格的粘贴命令class AboutAction extends AbstractAction / 关于选项命令public AboutAction() super(版本);public void actionPerformed(ActionEvent e) String str = 简易记事本nn版本:1.0n作者:郭孔明n主要功能:实现简单文本编辑。;JOptionPane.showMessageDialog(EditorDemo.this, str); / 显示软件信息public static void main(String args) LoginIn log = new LoginIn(new EditorDemo();log.setTitle(系统登录);log.setSize(360, 250);log.setVisible(true);class LoginIn extends JFrame EditorDemo edit;LoginIn login;JTextField f1;JTextField f2;JButton b1;JButton b2;String power;/ 表示权限String imgePath = e:/workspace/GUI/14.gif;JPanel p5;Image img = Toolkit.getDefaultToolkit().createImage(imgePath);LoginIn(EditorDemo edit) this.edit = edit;login = this;Container cp = getContentPane(); /初始化一个容器,用来在容器上添加一些控件Label l1 = new Label(用户:);Label l2 = new Label(密码:);JPanel p1 = new JPanel();JPanel p2 = new JPanel();JPanel p3 = new JPanel();JPanel p4 = new JPanel();p5 = new JPanel() protected void paintChildren(Graphics g) g.drawImage(img, 0, 0, this); /在指定位置并且按指定大小绘制指定的 Image 的指定部分super.paintChildren(g);f1 = new JTextField(15);f2 = new JPasswordField(15);b1 = new JButton(登录);b2 = new JButton(重置);p1.setBackground(Color.orange); /设置面板背景颜色p2.add(l1); /在面板中添加组件p2.add(f1);p2.setBorder(new MatteBorder(0, 0, 0, 0, Color.BLACK);p2.setBackground(Color.ORANGE);p3.add(l2);p3.add(f2);p3.setBackground(Color.ORANGE);p3.setBorder(new MatteBorder(0, 0, 0, 0, Color.BLACK);p4.add(b1);p4.add(b2);p4.setBorder(new MatteBorder(-3, -3, -3, -3, Color.CYAN);p4.setBackground(Color.ORANGE);p5.setLayout(new FlowLayout(FlowLayout.CENTER, 20, 20);p5.add(p2);p5.add(p3);p5.add(p4);cp.add(p5, BorderLayout.CENTER);b1.addActionListener(new Enter();b2.addActionListener(new ReWrite();addWindowListener(new winClose();class Enter implements ActionListener /实现登陆的类public void actionPerformed(ActionEvent e) if (f1.getText().equals(admin) & (f2.getText(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论