欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2023年05月02日 16:43:44   投稿:hebedich  
本文給大家分享了一段java編寫(xiě)的簡(jiǎn)單實(shí)現(xiàn)復(fù)制粘貼剪切功能的代碼,需要的小伙伴可以直接拿走使用。如有更好的方案,也可以告之本人。

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

/*簡(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)聽(tīng)機(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)一定要告訴我。

相關(guān)文章

  • Java實(shí)現(xiàn)英文猜詞游戲的示例代碼

    Java實(shí)現(xiàn)英文猜詞游戲的示例代碼

    這篇文章主要介紹了如何用Java編寫(xiě)一個(gè)英文猜詞游戲,可以用來(lái)背英語(yǔ)單詞。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-02-02
  • 詳解如何使用MongoDB+Springboot實(shí)現(xiàn)分布式ID的方法

    詳解如何使用MongoDB+Springboot實(shí)現(xiàn)分布式ID的方法

    這篇文章主要介紹了詳解如何使用MongoDB+Springboot實(shí)現(xiàn)分布式ID的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 詳解SpringMVC解決跨域的兩種方案

    詳解SpringMVC解決跨域的兩種方案

    本篇文章主要介紹了詳解SpringMVC解決跨域的兩種方案,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • Java中IO和NIO的區(qū)別詳細(xì)解析

    Java中IO和NIO的區(qū)別詳細(xì)解析

    這篇文章主要介紹了Java中IO和NIO的區(qū)別詳細(xì)解析,IO和NIO有相同的作用和目的,但實(shí)現(xiàn)方式不同,NIO主要用到的是塊,所以NIO的效率要比IO快不少,需要的朋友可以參考下
    2023-11-11
  • Java基礎(chǔ)之Web服務(wù)器與Http詳解

    Java基礎(chǔ)之Web服務(wù)器與Http詳解

    無(wú)論你是前端開(kāi)發(fā)者還是后端開(kāi)發(fā)者,以及測(cè)試工程師,這篇文章的知識(shí)都是你需要弄懂的。讀完這一篇文章,將全面弄懂 HTTP 協(xié)議、TCP 協(xié)議,面試官再也難不倒你相關(guān)知識(shí)
    2021-09-09
  • Eclipse操作SVN時(shí)中斷鎖定,文件的解鎖方法

    Eclipse操作SVN時(shí)中斷鎖定,文件的解鎖方法

    這篇文章主要介紹了Eclipse操作SVN時(shí)中斷鎖定,文件的解鎖方法,需要的朋友可以參考下
    2014-08-08
  • 記一次springboot配置redis項(xiàng)目啟動(dòng)時(shí)的一個(gè)奇怪的錯(cuò)誤

    記一次springboot配置redis項(xiàng)目啟動(dòng)時(shí)的一個(gè)奇怪的錯(cuò)誤

    這篇文章主要介紹了spring?boot配置redis項(xiàng)目啟動(dòng)時(shí)的一個(gè)奇怪的錯(cuò)誤,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 淺談Java中對(duì)類的主動(dòng)引用和被動(dòng)引用

    淺談Java中對(duì)類的主動(dòng)引用和被動(dòng)引用

    這篇文章主要介紹了淺談Java中對(duì)類的主動(dòng)引用和被動(dòng)引用,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • java使用定時(shí)器實(shí)現(xiàn)監(jiān)聽(tīng)數(shù)據(jù)變化

    java使用定時(shí)器實(shí)現(xiàn)監(jiān)聽(tīng)數(shù)據(jù)變化

    這篇文章主要為大家詳細(xì)介紹了Java如何使用定時(shí)器監(jiān)聽(tīng)數(shù)據(jù)變化,當(dāng)滿足某個(gè)條件時(shí)(例如沒(méi)有數(shù)據(jù)更新)自動(dòng)執(zhí)行某項(xiàng)任務(wù),有興趣的可以了解下
    2023-11-11
  • Springboot項(xiàng)目如何獲取所有的接口

    Springboot項(xiàng)目如何獲取所有的接口

    這篇文章主要介紹了Springboot項(xiàng)目如何獲取所有的接口,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09

最新評(píng)論