程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java簡略完成復制 粘貼 剪切功效代碼分享

java簡略完成復制 粘貼 剪切功效代碼分享

編輯:關於JAVA

java簡略完成復制 粘貼 剪切功效代碼分享。本站提示廣大學習愛好者:(java簡略完成復制 粘貼 剪切功效代碼分享)文章只能為提供參考,不一定能成為您想要的結果。以下是java簡略完成復制 粘貼 剪切功效代碼分享正文


空話不多說,直接上代碼,小同伴們細心看下正文吧。


/*簡略的復制 剪切 粘貼 功效
 操作:  
  復制測試: 輸出文本選擇文本,點擊復制,然後將光標放在左邊的TextArea,點擊粘貼
  剪切測試:輸出文本選擇文本,然後將光標放在左邊的TextArea,點擊剪切  
*/
import javax.swing.*;
import java.awt.*;
import java.awt.datatransfer.*;
import java.awt.event.*;
public class Demo implements ActionListener
{
 private JFrame jf;
 private JPanel p1, p2, p3;   //上中下
 private JLabel title;
 private JTextArea edit,showMsg;
 private JButton copy,paste,cut;
 Clipboard clipboard;//獲得體系剪貼板。
 
 public Demo()
 {
  this.init();
 }
 //界面初始化
 public void init()
 {
  jf = new JFrame("復制粘貼");
  p1 = new JPanel();   //寄存題目
  p2 = new JPanel(); //寄存JTextArea showMsg
  p3 = new JPanel();  //寄存 button
  title = new JLabel("復制粘貼剪切演示");
  edit = new JTextArea("請輸出內容",15,25);
  edit.setLineWrap(true);
  showMsg = new JTextArea(15,25);
  showMsg.setLineWrap(true);
  showMsg.setEnabled(false);
  copy = new JButton("復制");
  paste = new JButton("粘貼");
  cut = new JButton("剪切");
  clipboard = jf.getToolkit().getSystemClipboard();
  
  p1.setLayout(new FlowLayout());
  p1.setSize(599,30);
  p1.add(title);
  
  p2.setLayout(new FlowLayout());
  p2.setBackground(Color.gray);
  p2.add(edit);
  p2.add(showMsg);
  
  p3.setLayout(new FlowLayout());
  p3.add(copy);
  p3.add(paste);
  p3.add(cut);
  
  //添加事宜監聽機制
  copy.addActionListener(this);
  paste.addActionListener(this);
  cut.addActionListener(this);
  
  // this.copyStr(copy);
  jf.add(p1, BorderLayout.NORTH);
  jf.add(p2, BorderLayout.CENTER);
  jf.add(p3, BorderLayout.SOUTH);
  jf.setLocation(400,200);
  jf.setSize(600,450);
  jf.setResizable(false);
  jf.setVisible(true);
 }
 
 //事宜處置
 public void actionPerformed(ActionEvent e)
 {
  if(e.getSource() == copy)
  {
   String tempText = edit.getSelectedText();  //拖動鼠標拔取文本
   //創立能傳輸指定 String 的 Transferable。
   StringSelection editText =
     new StringSelection(tempText);
   /**
   將剪貼板確當前內容設置到指定的 transferable 對象,
   並將指定的剪貼板一切者作為新內容的一切者注冊。
   */
   clipboard.setContents(editText,null);
  }else if(e.getSource() == cut)
  {
   String tempText = edit.getSelectedText();
   StringSelection editText =
     new StringSelection(tempText);
   clipboard.setContents(editText,null);
   int start= edit.getSelectionStart();
   int end  = edit.getSelectionEnd();
   showMsg.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);
      showMsg.append(str);
     }catch(Exception ex)
     {
      ex.printStackTrace();
     }
      }
  }
 }
 
 public static void main(String[] args)
 {
  new Demo();
 }
}

代碼很簡略,應用也很便利,小同伴們有更好的思緒的話,請必定要告知我。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved