import java.awt.*;
import java.applet.*;
import java.awt.event.*;
/*
<applet code="SimpelFrame" width=350 height=150>
</applet>
*/
class MenuFrame extends Frame
{
TextArea t;
  public MenuFrame(String title )
   {
     super (title);
     MenuBar mbar=new MenuBar ();//第一步
     setMenuBar(mbar);
     Menu File1=new Menu("file");
     MenuItem item1, item2,item3,item4;
     File1.add(item1=new MenuItem ("New"));
     File1.add(item2=new MenuItem ("Open"));
     File1.add(item3=new MenuItem ("Save"));
     File1.add(item4=new MenuItem ("Quit"));
     mbar.add(File1);
     Menu Edit=new Menu("edit");
     MenuItem item5, item6,item7;
     
     Edit.add(item5=new MenuItem ("delete"));
     Edit.add(item6=new MenuItem ("copy"));
     Edit.add(item5=new MenuItem ("cut"));
     mbar.add(Edit);
     Menu sub=new Menu("sub");//向菜单中添加嵌套
     MenuItem item8 ,item9;
     sub.add(item8=new MenuItem ("first"));
     sub.add(item9=new MenuItem ("second"));
     Edit.add(sub);     
     String s="是的发啊是的发是是的发是发是的";
     t=new TextArea (s,10,30);
     add(t);
   //完成框架的构架
  
 //为按钮添加注册 
  MyMenuHandler al=new MyMenuHandler();
  Mywindowclosed bl=new Mywindowclosed();
  item2.addActionListener(al);//OPEN
  item3.addActionListener(al);//SAVE
  item4.addActionListener(bl);//QUIT
  t.addActionListener(new MyTextHandler());
  item6.addActionListener(new Editor());
}//构造函数结束
//构架“文件”菜单的处理:SAVE,OPEN选项class MyMenuHandler implements ActionListener 
 {
    String msg;
    FileDialog f;
    MenuFrame mn;
    public void actionPerformed(ActionEvent ae)
     {
       mn=new MenuFrame("x");     
       msg=ae.getActionCommand();
       if(msg.equals("Open"))
         {
           f=new FileDialog (mn,"file dialog",FileDialog.LOAD);
           f.setSize(200,200);
           f.setVisible(true);
         }
       else
         {
           f=new FileDialog (mn,"file dialog",FileDialog.SAVE);
           f.setSize(200,200);
           f.setVisible(true);
         }
     }
 } 
 //进行文本的处理
 class MyTextHandler implements ActionListener
  {
    String s;
    public void processActionEvent(ActionEvent ae)
     {
       s=t.getSelectedText();
     }
  }
  
 //进行编辑按钮的处理
  class Editor extends MyTextHandler implements ActionListener
  {
    
    
   
    
    public void actionPerformed(ActionEvent ae)
      {
      String msg;
        msg=ae.getActionCommand();
        if(msg.equals("copy"))
         {
           t.append(s);
         }
      }
  } 
 
 //进行 "退出"选项的设置
 class Mywindowclosed  implements ActionListener
  {
    
   public void actionPerformed(ActionEvent ae)
     {
        setVisible(false);
     }
   
  }
 class Subwin extends WindowAdapter 
   {
    public Subwin() {}
    public void windowCloseing(WindowEvent we)
     {
        MenuFrame  x=new MenuFrame("c");   
        x.dispose();
     }
   }//“退出”设置完毕
} public class SimpelFrame extends Applet
 {
  Frame f;
  public void init()
    {
      f=new MenuFrame("Hello Menu");
      f.setSize(200,200);
      f.setVisible(true);
    }
 }
问题处于这一行:t.addActionListener(new MyTextHandler());
TEXTAREA可否使用ActionListener接口

解决方案 »

  1.   

    没有ActionListener接口
    您的TEXTAREA做事件监听处理,是想监听TEXTAREA的文本属性的改变还是别的什么?
    建议使用其他的监听!
      

  2.   

    使用什接口呢
    我查过API但没查出来
    书的详细一点吧,嘿嘿
      

  3.   

    Java有剪贴板支持的...可以使用Clipboard类
    Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
    StringSelection selection = new StringSelection(textArea.getSelectedText());
    clipboard.setContents(selection, null);顺便建议楼主使用Swing, AWT的界面组件已经属于遗留类了, 当然事件监听仍然是使用AWT的核心...
      

  4.   

    补充一下:
    剪贴板支持在 java.awt.datatransfer 包