java文件 记事本_[源码和文档分享]基于JAVA的记事本
时间: 2024-01-02 10:04:40 浏览: 134
JAVA【记事本】源码
以下是基于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的记事本是一个简单而实用的文本编辑器。它提供了常见的文件操作和编辑功能,并具有跨平台性。
阅读全文