一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - java簡(jiǎn)單實(shí)現(xiàn)復(fù)制 粘貼 剪切功能代碼分享

java簡(jiǎn)單實(shí)現(xiàn)復(fù)制 粘貼 剪切功能代碼分享

2019-12-06 13:56hebedich JAVA教程

本文給大家分享了一段java編寫的簡(jiǎn)單實(shí)現(xiàn)復(fù)制粘貼剪切功能的代碼,需要的小伙伴可以直接拿走使用。如有更好的方案,也可以告之本人。

廢話不多說,直接上代碼,小伙伴們仔細(xì)看下注釋吧。

 

復(fù)制代碼代碼如下:

/*簡(jiǎn)單的復(fù)制 剪切 粘貼 功能
 操作:  
  復(fù)制測(cè)試: 輸入文本選擇文本,點(diǎn)擊復(fù)制,然后將光標(biāo)放在右邊的TextArea,點(diǎn)擊粘貼
  剪切測(cè)試:輸入文本選擇文本,然后將光標(biāo)放在右邊的TextArea,點(diǎn)擊剪切  
*/
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;//獲取系統(tǒng)剪貼板。
 
 public Demo()
 {
  this.init();
 }
 //界面初始化
 public void init()
 {
  jf = new JFrame("復(fù)制粘貼");
  p1 = new JPanel();   //存放標(biāo)題
  p2 = new JPanel(); //存放JTextArea showMsg
  p3 = new JPanel();  //存放 button
  title = new JLabel("復(fù)制粘貼剪切演示");
  edit = new JTextArea("請(qǐng)輸入內(nèi)容",15,25);
  edit.setLineWrap(true);
  showMsg = new JTextArea(15,25);
  showMsg.setLineWrap(true);
  showMsg.setEnabled(false);
  copy = new JButton("復(fù)制");
  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);
  
  //添加事件監(jiān)聽機(jī)制
  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();  //拖動(dòng)鼠標(biāo)選取文本
   //創(chuàng)建能傳輸指定 String 的 Transferable。
   StringSelection editText = 
     new StringSelection(tempText);
   /**
   將剪貼板的當(dāng)前內(nèi)容設(shè)置到指定的 transferable 對(duì)象,
   并將指定的剪貼板所有者作為新內(nèi)容的所有者注冊(cè)。
   */
   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();
 }
}

 

代碼很簡(jiǎn)單,使用也很方便,小伙伴們有更好的思路的話,請(qǐng)一定要告訴我。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久精品国产亚洲AV热无遮挡 | 亚洲 欧美 中文 日韩欧美 | 日韩欧美国产免费看清风阁 | 日本mv精品中文字幕 | 99热碰 | 精品视频99 | 999国产高清在线精品 | 性白俄罗斯高清xxxxx | 亚洲品质自拍视频 | 亚洲一级片在线播放 | 亚洲 欧美 国产 综合首页 | 91精品国产品国语在线不卡 | 国产九九在线 | 青草青草视频2免费观看 | 欧美va免费大片 | 精品视频99 | 99久久精品国产片久人 | 成人在线一区二区三区 | acg火影忍者熟密姬纲手h | 贰佰麻豆剧果冻传媒一二三区 | 国产精品美女福利视频免费专区 | 单亲乱l仑在线观看免费观看 | 天天舔天天干天天操 | 99热国产这里只有精品 | 四虎最新永久在线精品免费 | 午夜欧美精品 | 视频在线观看大片 | 嫩草香味 | 亚洲男人天堂网站 | 欧美一区二区不卡视频 | 欧美日韩国产中文字幕 | 女子监狱第二季未删减在线看 | 免费被黄网站在观看 | 国产精品视频在这里有精品 | 四虎影院免费在线播放 | 大陆国产vs国产对白 | 九二淫黄大片看片 | 国产精品久久久久久久久久久久 | 男男playh片在线观看 | 亚洲成人福利网站 | 处女摘花 |