package day25; import java.awt.BorderLayout; import java.awt.FileDialog; import java.awt.TextArea; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; public class Notepad { JFrame frame=new JFrame("记事本"); //菜单条 JMenuBar bar=new JMenuBar(); //面板 JPanel panel=new JPanel(); //文件菜单 JMenu fileMenu=new JMenu("文件"); JMenu editMenu=new JMenu("编辑"); JMenu other=new JMenu("选项"); //复选菜单 //文件菜单功能项 JMenuItem open=new JMenuItem("打开"); JMenuItem save=new JMenuItem("保存"); //编辑菜单功能项 JMenuItem about=new JMenuItem("关于"); JMenuItem exit=new JMenuItem("退出"); //复选菜单 JMenuItem work1=new JMenuItem("项目1"); JMenuItem work2=new JMenuItem("项目2"); JMenuItem work3=new JMenuItem("项目3"); TextArea textArea=new TextArea(); public void InitNotepad(){ //窗口添加菜单条 frame.add(bar,BorderLayout.NORTH); frame.add(textArea); //菜单条添加文件菜单 bar.add(fileMenu); bar.add(editMenu); //文件菜单项添加功能 fileMenu.add(open); fileMenu.add(save); //复选菜单 other.add(work1); other.add(work2); other.add(work3); fileMenu.add(other); //编辑菜单添加功能 editMenu.add(about); editMenu.add(exit); fileMenu.add(other); //向打开添加事件 open.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { try { FileDialog filedialog=new FileDialog(frame,"请选择要打开的文件",FileDialog.LOAD); filedialog.setVisible(true); //将要打开的文件显示出来 String path=filedialog.getDirectory(); //获取用户打开的文件路径 String filename=filedialog.getFile(); //获取打开的文件名 //读取要打开的文件的内容 FileInputStream fileInputStream=new FileInputStream(new File(path,filename)); int length=0; byte [] buf=new byte[1024]; while((length=fileInputStream.read(buf))!=-1){ String content=(new String(buf,0,length)); //将内容加到文本区域 textArea.setText(content); } fileInputStream.close(); } catch (IOException e1) { e1.printStackTrace(); } } }); //给保存添加事件 save.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { try { FileDialog fileDialog=new FileDialog(frame,"请选择要保存的路径",FileDialog.SAVE); fileDialog.setVisible(true); //获取用户选择的路径和文件名 String path=fileDialog.getDirectory(); String filename=fileDialog.getFile(); //建立输出对象 FileOutputStream fileoutputStream=new FileOutputStream(new File(path,filename)); //获取文本区域内容 String content=textArea.getText(); //将文本内容写出 fileoutputStream.write(content.getBytes()); fileoutputStream.close(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } }); FrameUtil.InitFrame(frame, 600, 500); } public static void main(String[] args) { new Notepad().InitNotepad(); } }