老师要求做一个记事本,需要上述功能,多谢高手指点

解决方案 »

  1.   

    在网上搜一下  一大把的代码啊
    import javax.swing.*; 
    import javax.swing.event.*; 
    import java.awt.*; 
    import java.awt.event.*; 
    import java.io.*; 
    import java.awt.color.*; 
    import java.awt.font.*; 
    import javax.swing.undo.*; public class Note extends JFrame 

    boolean isChange=false; 
    boolean wasChange=false; 
    JMenuBar menuBar=new JMenuBar(); JMenu menuFile=new JMenu("File"); 
    JMenuItem menuFileOpen=new JMenuItem("Open.."); 
    JMenuItem menuFileSave=new JMenuItem("Save.."); 
    JMenuItem menuFileExit=new JMenuItem("Exit"); JMenu menuEdit=new JMenu("Edit"); 
    JMenuItem menuFileCut=new JMenuItem("Cut"); 
    JMenuItem font=new JMenuItem("Font"); 
    JMenuItem menuFilePaste=new JMenuItem("Paste"); JTextArea fileArea=new JTextArea(); public Note() 

    this.setTitle("记事本"); 
    Toolkit tool=this.getToolkit();//窗口图标! 
    Image myimage=tool.getImage("戒指.jpg"); 
    this.setIconImage(myimage); 
    setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); 
    addWindowListener(new WindowAdapter() 

    public void windowClosing(WindowEvent e) 

    exit(); 

    }); 
    menuFileOpen.addActionListener(new ActionListener() 

    public void actionPerformed(ActionEvent e) 

    fileOpen_actionPerformed(e); 

    }); 
    menuFileSave.addActionListener(new ActionListener() 

    public void actionPerformed(ActionEvent e) 

    fileSave_actionPerformed(e); 

    }); 
    menuFileExit.addActionListener(new ActionListener() 

    public void actionPerformed(ActionEvent e) 

    fileExit_actionPerformed(e); 

    }); 
    menuFileCut.addActionListener(new ActionListener() 

    public void actionPerformed(ActionEvent e) 

    fileCut_actionPerformed(e); 

    }); 
    menuFilePaste.addActionListener(new ActionListener() 

    public void actionPerformed(ActionEvent e) 

    filePaste_actionPerformed(e); 

    }); 
    font.addActionListener(new ActionListener () 

    public void actionPerformed(ActionEvent e) 

    fileColor_actionPerformed(e); 

    }); 
    fileArea.getDocument().addDocumentListener(new DocumentListener() 

    public void insertUpdate(DocumentEvent e) 

    wasChange=isChange; 
    isChange=true; 

    public void removeUpdate(DocumentEvent e) 

    wasChange=isChange; 
    isChange=true; 

    public void changedUpdate(DocumentEvent e) 

    wasChange=isChange; 
    isChange=true; 

    }); 
    setSize(500,450); 
    menuBar.add(menuFile); 
    menuFile.setMnemonic('F'); 
    menuBar.add(menuEdit); 
    menuEdit.setMnemonic('E'); 
    menuFile.add(menuFileOpen); 
    menuFileOpen.setMnemonic('O');//访问健; 
    menuFileOpen.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));//快捷健; 
    menuFile.add(menuFileSave); 
    menuFileSave.setMnemonic('S'); 
    menuFileSave.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK)); 
    menuFile.addSeparator(); 
    menuFile.add(menuFileExit); 
    menuFileExit.setMnemonic('E'); 
    menuEdit.add(menuFileCut); 
    menuFileCut.setMnemonic('C'); 
    menuFileCut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK)); 
    menuEdit.add(menuFilePaste); 
    menuFilePaste.setMnemonic('P'); 
    menuFilePaste.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK)); 
    menuEdit.add(font); 
    font.setMnemonic('N'); 
    font.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK)); 
    this.getContentPane().add(new JScrollPane(fileArea)); 
    setJMenuBar(menuBar); 
    fileArea.setLineWrap(true); 

    public void fileExit_actionPerformed(ActionEvent e) 

    System.exit(0); 

    public void fileOpen_actionPerformed(ActionEvent e) 

    //以下是filter; 
    JFileChooser fileChooser=new JFileChooser(); 
    //fileChooser.addChoosableFileFilter(new myFilter("*.txt","Files(*.txt)")); 
    fileChooser.addChoosableFileFilter(fileChooser.getFileFilter()); 
    if(fileChooser.APPROVE_OPTION!=fileChooser.showOpenDialog(this))return; 
    //以下是文件读 
    BufferedReader dataIn=null; 
    try 

    dataIn=new BufferedReader(new FileReader(fileChooser.getSelectedFile().getPath())); 
    String c=null; 
    do 

    c=dataIn.readLine(); 
    if(c!=null) 
    fileArea.append(c+"\n"); 

    while(c!=null); 

    catch(Exception ex) 

    System.out.println("Catch exception:"+ex.toString()); 


    public void exit() 

    if(isChange==false) 
    System.exit(1); 
    else 

    int decision=JOptionPane.showConfirmDialog(this,"The File has Change.\n"+"Do you want to save the change?", 
    "Notepad",JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.WARNING_MESSAGE); 
    if (decision == JOptionPane.YES_OPTION) 

    //以下是将文件写入计算机! 
    try { 
    JFileChooser fileSave = new JFileChooser(); 
    fileSave.setDialogTitle("保存文件"); 
    //fileSave.addChoosableFileFilter(new myFilter("*.txt","Files(*.txt)")); 
    fileSave.addChoosableFileFilter(fileSave.getFileFilter()); 
    if (fileSave.APPROVE_OPTION != fileSave.showSaveDialog(this)) 
    return; 
    BufferedWriter dataOut = new BufferedWriter(new BufferedWriter(new 
    FileWriter(fileSave.getSelectedFile()))); 
    String c = null; 
    do { 
    String str = fileArea.getText(); 
    dataOut.write(str); 
    dataOut.close(); 

    while (c != null); 

    catch (Exception e2) { 
    System.out.println("Catch exception:有错误!" + e2.toString()); 


    else if (decision == JOptionPane.NO_OPTION) 
    System.exit(1); 
    else if (decision == JOptionPane.CANCEL_OPTION); 


    //innerclass.fileSave_actionPerformed(); 

    public void fileSave_actionPerformed(ActionEvent e1) 
    { //以下是将文件写入计算机! 
    try 

    JFileChooser fileSave=new JFileChooser(); 
    fileSave.setDialogTitle("保存文件" ); 
    //fileSave.addChoosableFileFilter(new myFilter("*.txt","Files(*.txt)")); 
    fileSave.addChoosableFileFilter(fileSave.getFileFilter()); 
    if(fileSave.APPROVE_OPTION!=fileSave.showSaveDialog(this))return; 
    BufferedWriter dataOut=new BufferedWriter(new BufferedWriter(new FileWriter(fileSave.getSelectedFile()+".txt"))); 
    //RandomAccessFile dataOut=new RandomAccessFile(fileSave.getSelectedFile(),"rw"); 
    String c=null; 
    do 

    String str=fileArea.getText(); 
    dataOut.write(str); 
    dataOut.close(); 

    while(c!=null); 

    catch(Exception e2) 

    System.out.println("Catch exception:有错误!"+e2.toString()); 


    public static void main(String arg[]) 

    Note nt=new Note(); 
    nt.show(); 

    public void fileCut_actionPerformed(ActionEvent e) 

    fileArea.cut(); 

    public void filePaste_actionPerformed(ActionEvent e) 

    fileArea.paste(); 

    public void fileColor_actionPerformed(ActionEvent e) 

    JColorChooser fileColor=new JColorChooser(); 
    //fileArea.setForeground(fileColor.showDialog(this,"颜色",Color.red)); 
    //fileArea.setSelectionColor(fileColor.showDialog(this,"颜色",Color.red)); 
    fileArea.setSelectionColor(fileColor.showDialog(this,"颜色",Color.black)); 


    给你贴一个
    就是流的读取的东西
      

  2.   

    另存,保存,都是输出流而已,这属于Java的基本知识啊,随便哪一本教科书上都有。