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