正文

迷你记事本源代码2006-03-18 01:15:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/weoln/11112.html

分享到:

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!");
    }
  }

}

阅读(6192) | 评论(2)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册