博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

hope_process

感觉好累。。。
  heixia108.cublog.cn

关于作者
    既然目标是地平线

   留给世界的只能是背影
   
|| << >> ||
我的分类


在JAVA中实现撤销,剪切,复制,粘贴4大功能
要用到java.awt.datatransfer包中的Clipboard类  
    import   java.awt.*;import   java.awt.event.*;  
  import   java.awt.datatransfer.*;  
  public   class   Test   extends   Frame   implements   ActionListener  
  {     MenuBar   menubar;   Menu   menu;    
        MenuItem   copy,cut,paste;  
        TextArea   text1,text2;  
        Clipboard   clipboard=null;      
        Test()  
        {     clipboard=getToolkit().getSystemClipboard();//获取系统剪贴板。  
                menubar=new   MenuBar();    
                menu=new   Menu("Edit");     copy=new   MenuItem("copy");  
                cut=new   MenuItem   ("cut");     paste=new   MenuItem   ("paste");  
                text1=new   TextArea(20,20);   text2=new   TextArea(20,20);  
                copy.addActionListener(this);   cut.addActionListener(this);  
                paste.addActionListener(this);  
                setLayout(new   FlowLayout());  
                menubar.add(menu);  
                menu.add(copy);     menu.add(cut);   menu.add(paste);      
                setMenuBar(menubar);    
                add(text1);add(text2);  
                setBounds(100,100,200,250);   setVisible(true);pack();  
                addWindowListener(new   WindowAdapter()  
                              {public   void   windowClosing(WindowEvent   e)  
                                  {System.exit(0);  
                                    }  
                              })   ;  
        }  
        public   void   actionPerformed(ActionEvent   e)  
        {     if(e.getSource()==copy)                                       //拷贝到剪贴板。  
                  {     String   temp=text1.getSelectedText();     //拖动鼠标选取文本。  
                        StringSelection   text=new   StringSelection(temp);  
                        clipboard.setContents(text,null);  
                  }  
              else   if(e.getSource()==cut)                               //剪贴到剪贴板。  
                {     String   temp=text1.getSelectedText();       //拖动鼠标选取文本。  
                      StringSelection   text=new   StringSelection(temp);  
                      clipboard.setContents(text,null);  
                      int   start=text1.getSelectionStart();  
                      int   end     =text1.getSelectionEnd();    
                      text1.replaceRange("",start,end)   ;   //从Text1中删除被选取的文本。    
                }  
              else   if(e.getSource()==paste)                 //从剪贴板粘贴数据。  
              {     Transferable   contents=clipboard.getContents(this);  
                    DataFlavor     flavor=   DataFlavor.stringFlavor;  
                    if(   contents.isDataFlavorSupported(flavor))  
                        try{     String   str;  
                                    str=(String)contents.getTransferData(flavor);  
                                    text2.append(str);  
                              }  
                        catch(Exception   ee){}  
                }  
        }  
        public   static   void   main(String   args[])  
        {     Test   win=new   Test();  
        }  
  }  
转自:http://topic.csdn.net/t/20050101/16/3693365.html

发表于: 2007-10-21,修改于: 2007-10-21 01:08,已浏览652次,有评论0条 推荐 投诉


网友评论
 发表评论