jsp剪貼簿的複製粘貼程式

來源:互聯網
上載者:User

import java.awt.*;
import java.awt.event.*;
import java.awt.datatransfer.*;
import javax.swing.*;

//剪貼簿示範

public class ClipboardDemo extends JFrame implements ClipboardOwner{
 Clipboard clipboard;  //剪貼簿
 JTextArea jtaCopyTo=new JTextArea(5,10); //用於拷貝的文字框
 JTextArea jtaPaste=new JTextArea(5,10); //用於粘貼的文字框
 
 public ClipboardDemo(){
  super("使用剪貼簿的複製/粘貼程式"); //調用父類建構函式
    
  clipboard=Toolkit.getDefaultToolkit().getSystemClipboard(); //獲得系統剪貼簿
  
  JButton btCopy=new JButton("拷貝"); //拷貝按鈕
  JButton btPaste=new JButton("粘貼"); //粘貼按鈕
  jtaCopyTo.setLineWrap(true); //設定換行
  jtaPaste.setLineWrap(true);
  jtaCopyTo.setBorder(BorderFactory.createTitledBorder("複製到系統剪下板")); //設定邊界
  jtaPaste.setBorder(BorderFactory.createTitledBorder("從系統剪下板粘貼"));
  
  Container container=getContentPane(); //得到容器
  JToolBar toolBar=new JToolBar(); //執行個體化工具列
  toolBar.add(btCopy); //增加工具列按鈕
  toolBar.add(btPaste);  
  btCopy.addActionListener(new CopyListener()); //按鈕事件處理
  btPaste.addActionListener(new PasteListener());  
  Box box=new Box(BoxLayout.X_AXIS); //執行個體化Box
  box.add(jtaCopyTo); //增加文字框到Box上
  box.add(jtaPaste);  
  container.add(toolBar,BorderLayout.NORTH); //增加工具列到容器
  container.add(box,BorderLayout.CENTER); //增加Box到容器
 
  setSize(320,180); //設定視窗尺寸
  setVisible(true); //設定視窗為可視
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //關閉視窗時退出程式
 }
 
 class CopyListener implements ActionListener { //拷貝資料處理
  public void actionPerformed(ActionEvent event) {
   StringSelection contents=new StringSelection(jtaCopyTo.getText()); //用拷貝文字框文本執行個體化StringSelection對象
   clipboard.setContents(contents, ClipboardDemo.this); //設定系統剪貼簿內容
  }
 }
 
 class PasteListener implements ActionListener { //粘貼資料處理
  public void actionPerformed(ActionEvent event) {
   Transferable contents=clipboard.getContents(this); //得到剪貼簿內容
    if(contents!=null && contents.isDataFlavorSupported(DataFlavor.stringFlavor)) { //判斷內容是否為空白,是否為字串
     try{
      String string= (String) contents.getTransferData(DataFlavor.stringFlavor); //轉換內容到字串
      jtaPaste.append(string); //插入字串到粘貼文字框
     }catch (Exception ex){
      ex.printStackTrace(); //錯誤處理
     }
   }
  }
 }
 
 public void lostOwnership(Clipboard clip,Transferable transferable) { //實現ClipboardOwner介面中的方法
 }

 public static void main(String[] args){
  new ClipboardDemo(); 
 }
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.