Chinaunix首页 | 论坛 | 博客
  • 博客访问: 723997
  • 博文数量: 251
  • 博客积分: 10367
  • 博客等级: 上将
  • 技术积分: 2750
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-10 14:43
文章分类

全部博文(251)

文章存档

2009年(2)

2008年(86)

2007年(163)

分类: Java

2007-10-21 01:08:42

要用到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();  
        }  
  }  
转自:
阅读(1681) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~