/* * 本人QQ:648422746.欢迎各位有志于一起研究java ee的朋友加我。本人专科,大二 * * 程序说明: * 1.本程序是一个超简单的记事本程序,用java se语言编写,在myeclipse环境下运行成功。 * 2.用户可以通过选择打开和保存来编辑文档 * */ package DD; import java.io.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Note extends JFrame implements ActionListener{ JTextArea textArea = null; JMenuBar menuBar = null; JMenu menu = null; JMenuItem menuItem1 = null; JMenuItem menuItem2 = null; public static void main(String[] args) { // TODO Auto-generated method stub Note note = new Note(); } public Note() { textArea =new JTextArea(); menuBar = new JMenuBar(); menu = new JMenu("文件"); //menu.setMnemonic('f'); menuItem1 = new JMenuItem("打开"); menuItem2 = new JMenuItem("保存"); menu.add(menuItem1); menu.add(menuItem2); menuBar.add(menu); //设置事件监听 menuItem1.addActionListener(this); menuItem1.setActionCommand("open"); menuItem2.addActionListener(this); menuItem2.setActionCommand("save"); this.setJMenuBar(menuBar); this.add(textArea); //设置窗体属性 this.setSize(400, 300); this.setLocation(400, 200); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setResizable(true); this.setTitle("笔记本"); //设置窗体可见 this.setVisible(true); } @Override public void actionPerformed(ActionEvent e) { if(e.getActionCommand().equals("open")) { //System.out.println("打开"); //文件选择组件 JFileChooser jf = new JFileChooser(); jf.setDialogTitle("打开"); //使用默认方式 jf.showOpenDialog(null); jf.setVisible(true); //获得用户选择的文件的路径 String path = jf.getSelectedFile().getAbsolutePath(); //测试 //System.out.println(path); FileReader fr = null; BufferedReader br= null; String text = ""; String te = ""; try { fr = new FileReader(path); br = new BufferedReader(fr); //读取文件数据到记事本的多行文本区 while((text = br.readLine()) != null) { te+=text+"/r/n"; } textArea.setText(te); } catch(Exception e1) { e1.printStackTrace(); } finally { try { br.close(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } else if(e.getActionCommand().equals("save")) { //文件选择组件 JFileChooser jf2 = new JFileChooser(); jf2.setDialogTitle("另存为"); //使用默认方式 jf2.showOpenDialog(null); jf2.setVisible(true); //获得用户选择的文件的路径 String path2 = jf2.getSelectedFile().getAbsolutePath(); FileWriter fw = null; BufferedWriter bw = null; try { fw = new FileWriter(path2); bw = new BufferedWriter(fw); //读取多行文本区的数据 bw.write(textArea.getText()); } catch(Exception e2) { e2.printStackTrace(); } finally { try { bw.close(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } } }