请问高手:在模拟windows中计算器时怎样用java实现复制和粘贴功能啊?本人是新手,在网上找的好多都 看不懂
         希望答案能详细点哦!
        谢谢!~!~

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主截止到2008-06-20 19:55:15的汇总数据:
    注册日期:2008-5-22
    上次登录:2008-6-20
    发帖数:1                  发帖分:20                 
    结贴数:0                  结贴分:0                  
    结贴率:0.00 %        结分率:0.00 %        
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   


        /**
         * 写入文本到剪切板(相当于复制)
         * @param str 待写入的文本
         */
        public static void writeToSysClipboard(String str)
        {
            Clipboard sysClip = Toolkit.getDefaultToolkit().getSystemClipboard();
            Transferable text = new StringSelection(str);
            sysClip.setContents(text, null);
        }    /**
         * 获取系统剪切板中的文本(相当于粘贴)
         * @return 系统剪切板中的文本
         */
        public static String getSysClipboardText()
        {
            String ret = "";
            Clipboard sysClip = Toolkit.getDefaultToolkit().getSystemClipboard();
            // 获取剪切板中的内容
            Transferable clipTf = sysClip.getContents(null);        if(clipTf != null)
            {
                // 检查内容是否是文本类型
                if(clipTf.isDataFlavorSupported(DataFlavor.stringFlavor))
                {
                    try
                    {
                        ret = (String)clipTf.getTransferData(DataFlavor.stringFlavor);
                    }
                    catch(Exception e)
                    {
                        e.printStackTrace();
                    }
                }
            }        return ret;
        }
      

  3.   

    hoho,针对实际问题还有更简单的
    如果使用的是JTextField或JTextArea,那可以有以下三个方法调用
    text.copy(); //复制到系统剪切板
    text.cut();  //剪切到系统剪切板
    text.paste();//把系统剪切板内的文本粘贴到text中
    其中text是指JTextField或JTextArea实例。
      

  4.   

    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;   
            TextArea   text1;   
            Clipboard   clipboard=null;       
            Test()   
            {       clipboard=getToolkit().getSystemClipboard();//获取系统剪贴板。   
                      menubar=new   MenuBar();     
                    menu=new   Menu("Edit");    
                    copy=new   MenuItem("copy");   
                    cut=new   MenuItem   ("cut");     
                    text1=new   TextArea(20,20);  //文本框
                    copy.addActionListener(this);   
                    cut.addActionListener(this);   
                    setLayout(new   FlowLayout());   
                    menubar.add(menu);   
                    menu.add(copy);     
                    menu.add(cut);       
                    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  (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中删除被选取的文本。     
                    }   
              
            }   
            public   static   void   main(String   args[])   
            {     Test   win=new   Test();   
            }   
      }