java实现记事本

来源:互联网 发布:jni 传递byte数组 编辑:程序博客网 时间:2024/06/06 05:56

直接上代码

public class Example11_18 {   public static void main(String args[]) {      WindowReader win=new WindowReader();      win.setTitle("记事本");    }}

import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;public class WindowReader extends JFrame implements ActionListener {private static final long serialVersionUID = 1L;JFileChooser fileDialog;JMenuBar menubar;JMenu menu;JMenu menu1;JMenu menu2;JMenu menu3;JMenu menu4;JMenuItem itemSave, itemOpen;JTextArea text;BufferedReader in;FileReader fileReader;BufferedWriter out;FileWriter fileWriter;WindowReader() {init();setSize(300, 400);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}void init() {text = new JTextArea(10, 10);text.setFont(new Font("楷体_gb2312", Font.PLAIN, 20));add(new JScrollPane(text), BorderLayout.CENTER);menubar = new JMenuBar();menu = new JMenu("文件");menu1 = new JMenu("编辑");menu2 = new JMenu("格式");menu3 = new JMenu("查看");menu4 = new JMenu("帮助");itemSave = new JMenuItem("保存文件");itemOpen = new JMenuItem("打开文件");itemSave.addActionListener(this);itemOpen.addActionListener(this);menu.add(itemSave);menu.add(itemOpen);menubar.add(menu);menubar.add(menu1);menubar.add(menu2);menubar.add(menu3);menubar.add(menu4);setJMenuBar(menubar);fileDialog = new JFileChooser();}public void actionPerformed(ActionEvent e) {if (e.getSource() == itemSave) {int state = fileDialog.showSaveDialog(this);if (state == JFileChooser.APPROVE_OPTION) {try {File dir = fileDialog.getCurrentDirectory();String name = fileDialog.getSelectedFile().getName();File file = new File(dir, name);fileWriter = new FileWriter(file);out = new BufferedWriter(fileWriter);out.write(text.getText());out.close();fileWriter.close();} catch (IOException exp) {}}} else if (e.getSource() == itemOpen) {int state = fileDialog.showOpenDialog(this);if (state == JFileChooser.APPROVE_OPTION) {text.setText(null);try {File dir = fileDialog.getCurrentDirectory();String name = fileDialog.getSelectedFile().getName();File file = new File(dir, name);fileReader = new FileReader(file);in = new BufferedReader(fileReader);String s = null;while ((s = in.readLine()) != null) {text.append(s + "\n");}in.close();fileReader.close();} catch (IOException exp) {}}}}}

可以实现,但是这里涉及到的知识点我并不是很熟,比如这里的io操作,对话框等,继续努力吧