以下是全部的程序,望各位高手指教:
package K_Editor;
import java.awt.*;
import java.io.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.border.*;
//import javax.swing.JTextArea;
import javax.swing.JOptionPane;class MainFrame extends Frame 
      implements ActionListener,MouseListener,TextListener,
                 MouseMotionListener,KeyListener
{
FileDialog filedialog_save,filedialog_load;
MenuBar menubar;
Menu file_menu,edit_menu,style_menu,about_menu;
MenuItem load_item,save_item,exit_item;
MenuItem clear_item,cancel_item;
MenuItem font_item;
MenuItem about_item;
TextField xtext,ytext,ptext,capsLocktext;
JTextArea textarea;
Box box,box1,box2;
int count;
BufferedReader in;
FileReader fileReader;
BufferedWriter out;
        FileWriter tofile;
MainFrame()
{
  super("K_Editor");
  int count=0;
  menubar=new MenuBar();
  file_menu=new Menu("文件");
  edit_menu=new Menu("编辑");
  style_menu=new Menu("格式");
  about_menu=new Menu("关于");
  load_item=new MenuItem("打开");
  save_item=new MenuItem("保存");
  exit_item=new MenuItem("退出");
  //load_item.setShortcut(new MenuShortcut(KeyEvent.VK_O));
  //save_item.setShortcut(new MenuShortcut(KeyEvent.VK_S));
  //exit_item.setShortcut(new MenuShortcut(KeyEvent.VK_Q));
  filedialog_save=new FileDialog(this,"保存文件对话框",FileDialog.SAVE);
  filedialog_save.setVisible(false);
  filedialog_load=new FileDialog(this,"打开文件对话框",FileDialog.LOAD);
  filedialog_load.setVisible(false);
  filedialog_save.addWindowListener(new WindowAdapter()
                                    {
                                  public void windowClosing(WindowEvent e)
                                  {
                                   filedialog_save.setVisible(false);
                                   }
                                    });
  filedialog_load.addWindowListener(new WindowAdapter()
                                   {
                                    public void windowClosing(WindowEvent e)
                                     {
                                      filedialog_load.setVisible(false);
                                      }
                                    });
        
  clear_item=new MenuItem("清除");
  cancel_item=new MenuItem("撤销");
  //cancel_item.setShortcut(new MenuShortcut(KeyEvent.VK_Z));
  
  font_item=new MenuItem("字体");
        
  about_item=new MenuItem("关于K_Edit");
  
  xtext=new TextField(1);
  ytext=new TextField(1);
  ptext=new TextField();
  
  capsLocktext=new TextField(5);
  xtext.setEnabled(false);
  ytext.setEnabled(false);
  capsLocktext.setEnabled(false);
             
  textarea=new JTextArea(30,10);

  textarea.addMouseMotionListener(this);
  textarea.addKeyListener(this);
     
  file_menu.add(load_item);
  file_menu.add(save_item);
  file_menu.add(exit_item);
  load_item.addActionListener(this);
  save_item.addActionListener(this);
  exit_item.addActionListener(this);
  
  edit_menu.add(cancel_item);
  edit_menu.add(clear_item);
  cancel_item.addActionListener(this);
  clear_item.addActionListener(this);
  
  style_menu.add(font_item);
  font_item.addActionListener(this);
     
  about_menu.add(about_item);
  about_item.addActionListener(this);
  
  menubar.add(file_menu);
  menubar.add(edit_menu);
  menubar.add(style_menu);
  menubar.add(about_menu);
        
  setMenuBar(menubar);
  
  box1=Box.createHorizontalBox();
  box1.add(xtext);
  box1.add(ytext);
  box2=Box.createHorizontalBox();
  box2.add(capsLocktext);
  box=Box.createHorizontalBox();
  box.add(box1);
 box.add(Box.createHorizontalStrut(450));
  box.add(box2);
  add(box,BorderLayout.SOUTH);
  add(textarea,BorderLayout.CENTER);
    setBounds(300,100,600,600);
        setResizable(false);
        setVisible(true);
  validate();  
 addWindowListener(new WindowAdapter()
                  {
                public void windowClosing(WindowEvent e)
                {
                  System.exit(0);
                }
                  });
}

public void actionPerformed(ActionEvent e)
{
  if(e.getSource()==exit_item)
  {
     System.exit(0);
  }
  else if(e.getSource()==save_item)
  {
filedialog_save.setVisible(true);
textarea.setText(null);
String s;
if(filedialog_load.getFile()!=null)
{try{File file=new File(filedialog_load.getDirectory(),
     filedialog_load.getFile());
     fileReader=new FileReader(file);
     in=new BufferedReader(fileReader);
     while((s=in.readLine())!=null)
      textarea.append(s+"\n");
     in.close();
     fileReader.close();
    }catch(IOException e2){}
}
  }
  else if(e.getSource()==load_item)
  {
  filedialog_load.setVisible(true);
  if(filedialog_save.getFile()!=null)
  {try{File file=new File(filedialog_save.getDirectory(),
         filedialog_save.getFile());
       tofile=new FileWriter(file);
       out=new BufferedWriter(tofile);
       out.write(textarea.getText(),0,(textarea.getText()).length());
       out.close();
       tofile.close();
      }catch(IOException e2){}
  }
  }
  else if(e.getSource()==about_item)
  {
  JOptionPane.showMessageDialog(this,"K_Edit"+"\n"+"版本号:00.00.00.01"+"\n"+"制作人:极玄风"+"\n"+"版权全部归由 极玄风 所有",
              "关于 K_Edit",JOptionPane.INFORMATION_MESSAGE);
  }
  else if(e.getSource()==clear_item)
  {
  textarea.setText(null);
  }
   }

public void mouseClicked(MouseEvent e) 
{

} public void mouseEntered(MouseEvent e) 
{

} public void mouseExited(MouseEvent e) 
{

} public void mousePressed(MouseEvent e) 
{

} public void mouseReleased(MouseEvent e)
{

} public void mouseDragged(MouseEvent e)
{
xtext.setText(" "+e.getX());
ytext.setText(" "+e.getY());
} public void mouseMoved(MouseEvent e) 
{
xtext.setText(" "+e.getX()+" ");
ytext.setText(" "+e.getY()+" ");
} public void keyPressed(KeyEvent e) 
{
if(e!=null)
{
ptext.setText(""+textarea.getLocation().x+textarea.getLocation().y);
}
if(e.getKeyCode()==KeyEvent.VK_CAPS_LOCK)
{   
if(count%2==0)
capsLocktext.setText("Caps Lock");   
else 
capsLocktext.setText(null);
}
count++;
} public void keyReleased(KeyEvent e) 
{
 
} public void keyTyped(KeyEvent e) 
{

} public void textValueChanged(TextEvent e) 
{

}
}
  
public class K_Editor
{
public static void main(String[] args) 
{
new MainFrame();
}
}