62,623
社区成员
发帖
与我相关
我的任务
分享
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
public class NotePad {
private JFrame frame;
private JTextArea textArea;
private JScrollPane scrollPane;
private JMenuBar menuBar;
private JMenu mnuFile, mnuEdit, mnuHelp;
private JMenuItem mnuItemNew, mnuItemExit, mnuItemAbout, mnuItemSave,
mnuItemCopy, mnuItemPaste, mnuItemCut, mnuItemOpen;
private JFileChooser fileChooser1;
private JFileChooser fileChooser2;
public NotePad() {
frame = new JFrame("记事本");
frame.setSize(400, 400);
textArea = new JTextArea("", 20, 40);
scrollPane = new JScrollPane(textArea);
menuBar = new JMenuBar();
final MyAction action = new MyAction();
mnuFile = new JMenu("文件");
mnuEdit = new JMenu("编辑");
mnuHelp = new JMenu("帮助");
mnuItemNew = new JMenuItem("新建");
mnuItemExit = new JMenuItem("退出");
mnuItemSave = new JMenuItem("保存");
mnuItemOpen = new JMenuItem("打开");
mnuItemCopy = new JMenuItem("复制");
mnuItemPaste = new JMenuItem("粘贴");
mnuItemCut = new JMenuItem("剪切");
mnuItemAbout = new JMenuItem("关于");
mnuItemNew.addActionListener(action);
mnuItemExit.addActionListener(action);
mnuItemAbout.addActionListener(action);
mnuItemSave.addActionListener(action);
mnuItemCopy.addActionListener(action);
mnuItemPaste.addActionListener(action);
mnuItemCut.addActionListener(action);
mnuItemOpen.addActionListener(action);
mnuFile.add(mnuItemNew);
mnuFile.add(mnuItemExit);
mnuFile.add(mnuItemSave);
mnuFile.add(mnuItemOpen);
mnuEdit.add(mnuItemCopy);
mnuEdit.add(mnuItemPaste);
mnuEdit.add(mnuItemCut);
mnuHelp.add(mnuItemAbout);
menuBar.add(mnuFile);
menuBar.add(mnuEdit);
menuBar.add(mnuHelp);
frame.setJMenuBar(menuBar);
frame.getContentPane().add(scrollPane);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
private void openFile() throws IOException {
String filepath = fileChooser1.getSelectedFile().getAbsolutePath();
FileReader fr = new FileReader(filepath);
BufferedReader br = new BufferedReader(fr);
String str;
while ((str = br.readLine()) != null)
textArea.setText(textArea.getText() + str + "\n");
br.close();
fr.close();
}
private void saveFile() throws IOException {
String filepath2 = fileChooser2.getSelectedFile().getAbsolutePath();
FileWriter fw = new FileWriter(filepath2);
BufferedWriter bw = new BufferedWriter(fw);
PrintWriter pw = new PrintWriter(bw);
pw.print(textArea.getText());
bw.close();
fw.close();
}
private class MyAction implements ActionListener {
public void actionPerformed(ActionEvent e) {
final String command = e.getActionCommand();
if ("新建".equals(command)) {
textArea.setText("");
}
if ("退出".equals(command)) {
System.exit(0);
}
if ("保存".equals(command)) {
fileChooser2 = new JFileChooser();
fileChooser2.showSaveDialog(frame);
try {
saveFile();
} catch (IOException eee) {
}
}
if ("打开".equals(command)) {
fileChooser1 = new JFileChooser();
fileChooser1.showOpenDialog(frame);
try {
openFile();
} catch (IOException ee) {
}
}
if ("复制".equals(command)) {
textArea.copy();
}
if ("粘贴".equals(command)) {
textArea.paste();
}
if ("剪切".equals(command)) {
textArea.cut();
}
if ("关于".equals(command)) {
JOptionPane.showMessageDialog(frame, "记事本");
}
}
}
public static void main(String[] args) {
new NotePad();
}
}