日期:2014-05-20  浏览次数:20689 次

求java记事本源码 非常急 谁快给谁分!
求java记事本源码 非常急 谁快给谁分!

------解决方案--------------------
Java code
import java.awt.event.ActionListener;
import java.util.EventListener;
import java.awt.event.*;
import java.awt.*;
import java.io.*;
import java.lang.*;
import java.awt.datatransfer.*;
import javax.swing.*;


public class MiniEdit extends JFrame implements ActionListener {
 
 /**
  * Method main
  *
  *
  * @param args
  *
  */
  MenuBar menuBar = new MenuBar();
  Menu file = new Menu("File"),
       edit = new Menu("Edit"),
       help = new Menu("Help");
  
  MenuItem[] menuItem ={
   new MenuItem("New"),
   new MenuItem("Open"),
   new MenuItem("Save"),
   new MenuItem("Exit"),
   new MenuItem("Select All"),
   new MenuItem("Copy"),
   new MenuItem("Cut"),
   new MenuItem("Paste"),
   new MenuItem("Help")
   };
 
  TextArea textArea = new TextArea();
  String fileName = "NoName";
  Toolkit toolKit = Toolkit.getDefaultToolkit();
  Clipboard clipboard = toolKit.getSystemClipboard();
  
  //opne and close message dialogs
  private FileDialog openFileDialog = 
     new FileDialog(this,"Open File",FileDialog.LOAD);
  private FileDialog saveFileDialog =
     new FileDialog(this,"Save File",FileDialog.SAVE);
     
 public static void main(String[] args) {
  // TODO: Add your code here
  MiniEdit MyEdit = new MiniEdit();
  MyEdit.show();
 }

 /**
  * Method MiniEdit
  *
  *
  */
 public MiniEdit() {
  // TODO: Add your code here
  setTitle("MiniEdit");
  setFont(new Font("Times New Roman",Font.PLAIN,15));
  setBackground(Color.white);
  setSize(500,500);
  
  setMenuBar(menuBar);
  menuBar.add(file);
  menuBar.add(edit);
  menuBar.add(help);
  for(int i=0;i<4;i++)
  {
   file.add(menuItem[i]);
   edit.add(menuItem[i+4]);
   }
  help.add(menuItem[8]);
     add(textArea);
     
     addWindowListener(new WindowAdapter(){
      public void windowClosing(WindowEvent e){
       e.getWindow().dispose();
       System.exit(0);
       }
      });
      
     //add actionListener
     for(int i=0;i<menuItem.length;i++)
     {
      menuItem[i].addActionListener(this);
      }
     
 }


 /**
  * Method actionPerformed
  *
  *
  * @param e
  *
  */
 public void actionPerformed(ActionEvent e) {
  // TODO: Add your code here
  Object eventSource = e.getSource();
  
  if(eventSource == menuItem[0])//newItem
  {
   textArea.setText("");
   }
 
  else if(eventSource == menuItem[1])//OpenItem
  {
   openFileDialog.show();
   fileName = openFileDialog.getDirectory()+openFileDialog.getFile();
   if(fileName != null)
   {
    openFile(fileName);
    }
  }
  
  else if(eventSource ==menuItem[2])//SaveItem
  {
   saveFileDialog.show();
   fileName = saveFileDialog.getDirectory()+saveFileDialog.getFile();
   if(fileName !=null)
   {
    writeFile(fileName);
    }
   }
  
  else if(eventSource==menuItem[3])//exitItem
  {
   System.exit(0);
   }
  
  else if(eventSource == menuItem[4])//Select All
  {
   textArea.selectAll();
   }
     else if(eventSource == menuItem[5])//copy
     {
      String text = textArea.getSelectedText();
      StringSelection selection= new StringSelection(text);
      
      clipboard.setContents(selection,null);
      
      }
     
  else if(eventSource == menuItem[6])//cut
  {
   String text = textArea.getSelectedText();
   StringSelection selection = new StringSelection(text);
   
   clipboard.setContents(selection,null);
   textArea.replaceText("",textArea.getSelectionStart(),
       textArea.getSelectionEnd());
  }
 
    
     else if(eventSource == menuItem[7])//Paste
     {
      Transferable contents = clipboard.getContents(this);
      if(contents==null)
      return;
      String text;
      text="";
      try{
       text = (String)contents.getTransferData(DataFlavor.stringFlavor);
       
       }catch(Exception ex){}
      textArea.replaceText(text,
         textArea.getSelectionStart(),textArea.getSelectionEnd());  
      }
     else if(eventSource == menuItem[8])
     {
     // JOptionPane.showMessageDialog(null,"This is a MiniEdit.");
      } 
  
 }
 
 
 //Read file
 public void openFile(String fileName){
  try{
   File file = new File(fileName);
   FileReader readIn = new FileReader(file);
   int size = (int)file.length();
   int charsRead = 0;
   char[] content = new char[size];
   while(readIn.ready())
      charsRead += readIn.read(content,charsRead,size-charsRead);
   readIn.close();
   textArea.setText(new String(content,0,charsRead));
   }catch(Exception e)
   {
    System.out.println("Error opening file!");
    }
  } 
 
 //write file
 public void writeFile(String fileName){
  try{
   File file = new File(fileName);
   FileWriter write = new FileWriter(file);
   write.write(textArea.getText());
   write.close();
   }catch(Exception e){
    System.out.println("Error closing file!");
   }
 }
}