黑马程序员JAVA 记事本_技术成长笔记_新浪博客

黑马程序员JAVA <wbr>记事本---------------------- android培训java培训、期待与您交流!----------------------



import java.awt.Font;
import java.awt.HeadlessException;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.text.DateFormat;
import java.util.Date;

import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import javax.swing.JToolBar;
import javax.swing.undo.UndoManager;

public class NotePadFounction {
    

    // 构造函数
    public NotePadFounction() {

    }

    // 读取文件 传入参数为父窗口和文本编辑控件
    public String loadFile(JFrame frame, JTextArea editor, String fileUrl) {
        JFileChooser chooser = new JFileChooser();
        int r = chooser.showOpenDialog(frame);
        if (r == JFileChooser.APPROVE_OPTION) {
            try {
                editor.read(new FileReader(chooser.getSelectedFile()), null);
                return chooser.getSelectedFile().getAbsolutePath();
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                return fileUrl;
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                return fileUrl;
            }
        }
        return fileUrl;
    }

    // 保存文件 传入参数为父窗口和文本编辑控件
    public String saveFile(JFrame frame, JTextArea editor, String fileUrl) {
        if (new File(fileUrl).exists()) {
            try {
                editor.write(new FileWriter(new File(fileUrl)));
                return fileUrl;
            } catch (IOException e) {
              
以下是基于Java记事本的源代码和文档: 源代码: ```java import java.awt.*; import java.awt.event.*; import java.io.*; public class Notepad extends Frame implements ActionListener { // Text component TextArea t; // Frame Frame f; // Constructor Notepad() { f = new Frame("Notepad"); try { // Set theme UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (Exception e) { System.err.println(e.getMessage()); } // Text component t = new TextArea(); // Create menu bar MenuBar mb = new MenuBar(); // Create menu Menu m1 = new Menu("File"); // Create menu items MenuItem mi1 = new MenuItem("New"); MenuItem mi2 = new MenuItem("Open"); MenuItem mi3 = new MenuItem("Save"); MenuItem mi4 = new MenuItem("Print"); // Add action listener mi1.addActionListener(this); mi2.addActionListener(this); mi3.addActionListener(this); mi4.addActionListener(this); // Add menu items to menu m1.add(mi1); m1.add(mi2); m1.add(mi3); m1.add(mi4); // Create menu Menu m2 = new Menu("Edit"); // Create menu items MenuItem mi5 = new MenuItem("Cut"); MenuItem mi6 = new MenuItem("Copy"); MenuItem mi7 = new MenuItem("Paste"); // Add action listener mi5.addActionListener(this); mi6.addActionListener(this); mi7.addActionListener(this); // Add menu items to menu m2.add(mi5); m2.add(mi6); m2.add(mi7); // Create menu Menu m3 = new Menu("Help"); // Create menu item MenuItem mi8 = new MenuItem("About Notepad"); // Add action listener mi8.addActionListener(this); // Add menu item to menu m3.add(mi8); // Add menu to menu bar mb.add(m1); mb.add(m2); mb.setHelpMenu(m3); // Set menu bar to frame f.setMenuBar(mb); // Set text area to frame f.add(t); // Set size of frame f.setSize(500, 500); // Show frame f.show(); } // If a button is pressed public void actionPerformed(ActionEvent e) { String s = e.getActionCommand(); if (s.equals("Cut")) { t.cut(); } else if (s.equals("Copy")) { t.copy(); } else if (s.equals("Paste")) { t.paste(); } else if (s.equals("Save")) { // Create object of JFileChooser class FileDialog fd = new FileDialog(f, "Save", FileDialog.SAVE); fd.setVisible(true); // Get file name and directory String fileName = fd.getFile(); String directory = fd.getDirectory(); try { // Create file writer object FileWriter fw = new FileWriter(directory + fileName); // Write content to file fw.write(t.getText()); // Close file writer fw.close(); } catch (Exception ex) { System.err.println(ex.getMessage()); } } else if (s.equals("Print")) { try { // Print text t.print(); } catch (Exception ex) { System.err.println(ex.getMessage()); } } else if (s.equals("Open")) { // Create object of JFileChooser class FileDialog fd = new FileDialog(f, "Open", FileDialog.LOAD); fd.setVisible(true); // Get file name and directory String fileName = fd.getFile(); String directory = fd.getDirectory(); try { // Create file reader object FileReader fr = new FileReader(directory + fileName); // Read content from file int i; String s1 = ""; while ((i = fr.read()) != -1) { s1 += (char)i; } t.setText(s1); // Close file reader fr.close(); } catch (Exception ex) { System.err.println(ex.getMessage()); } } else if (s.equals("New")) { t.setText(""); } else if (s.equals("About Notepad")) { // Create object of About class About a = new About(); } } public static void main(String args[]) { Notepad n = new Notepad(); } } // About class class About extends Dialog implements ActionListener { // Constructor About() { // Create frame Frame f = new Frame(); // Set title setTitle("About Notepad"); // Set modal setModal(true); // Create label Label l = new Label("Notepad 1.0"); // Create OK button Button b = new Button("OK"); // Add action listener b.addActionListener(this); // Create panel Panel p = new Panel(); // Add label and button to panel p.add(l); p.add(b); // Add panel to dialog add(p); // Set size of dialog setSize(300, 100); // Show dialog show(); } // If OK button is pressed public void actionPerformed(ActionEvent e) { dispose(); } } ``` 文档: 基于Java记事本 1. 简介 基于Java记事本是一个基本的文本编辑器,它允许用户打开、编辑、保存和打印文本文件。该应用程序使用Java编写,并具有跨平台性。 2. 功能 基于Java记事本具有以下功能: a) 新建文件。该功能允许用户创建一个新文件。 b) 打开文件。该功能允许用户打开一个现有的文件。 c) 保存文件。该功能允许用户将当前文件保存到硬盘上。 d) 打印文件。该功能允许用户打印当前文件。 e) 剪切、复制和粘贴。这些功能允许用户在文本中执行常见的编辑操作。 f) 关于记事本。该功能提供有关应用程序的一些基本信息。 3. 实现 基于Java记事本由以下几个组件组成: a) Frame:这是主窗口,它包含菜单栏和文本区域。 b) TextArea:这是用于编辑文本的区域。 c) MenuBar:这是菜单栏,它包括File、Edit和Help菜单。 d) Menu:这是菜单,它包括各种菜单项。 e) MenuItem:这是菜单项,它执行各种操作。 f) ActionListener:这是一个接口,它处理用户的操作。 4. 操作 以下是基于Java记事本的操作: a) 新建文件 - 单击File菜单,然后单击New菜单项。如果当前文件未保存,则提示用户保存文件。 b) 打开文件 - 单击File菜单,然后单击Open菜单项。选择要打开的文件,然后单击打开按钮。 c) 保存文件 - 单击File菜单,然后单击Save菜单项。选择要保存的位置和文件名,然后单击保存按钮。 d) 打印文件 - 单击File菜单,然后单击Print菜单项。选择打印机,然后单击打印按钮。 e) 剪切、复制和粘贴 - 选择要编辑的文本,然后单击Edit菜单。选择Cut、Copy或Paste菜单项,然后执行相应的操作。 f) 关于记事本 - 单击Help菜单,然后单击About Notepad菜单项。 5. 结论 基于Java记事本是一个简单而实用的文本编辑器。它提供了常见的文件操作和编辑功能,并具有跨平台性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值