1. 程式人生 > >Java實現剪下複製貼上功能(含不同文字域的判斷)

Java實現剪下複製貼上功能(含不同文字域的判斷)

通過焦點事件判斷不同的文字域
不同文字域焦點事件的處理

        tp1.addFocusListener(new FocusListener(){

            @Override
            public void focusGained(FocusEvent e) {
                // TODO Auto-generated method stub
                focus = 1;
            }

            @Override
            public void focusLost
(FocusEvent e) { // TODO Auto-generated method stub //focus = 0; } }); tp2.addFocusListener(new FocusListener(){ @Override public void focusGained(FocusEvent e) { // TODO Auto-generated method stub focus = 2
; } @Override public void focusLost(FocusEvent e) { // TODO Auto-generated method stub //focus = 0; } }); tp3.addFocusListener(new FocusListener(){ @Override public void focusGained(FocusEvent e) { // TODO Auto-generated method stub
focus = 3; } @Override public void focusLost(FocusEvent e) { // TODO Auto-generated method stub //focus = 0; } });

//剪下

public void cut(){
        //final Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();

        String temp1 = tp1.getSelectedText();
        String temp2 = tp2.getSelectedText();
        String temp3 = tp3.getSelectedText();

        cutStr1 = new StringSelection(temp1);
        cutStr2 = new StringSelection(temp2);
        cutStr3 = new StringSelection(temp3);

        //根據焦點位置判斷文字域
        if(focus == 1){
            clipboard.setContents(cutStr1, null);
            tp1.replaceSelection("");
        }else if(focus == 2){
            clipboard.setContents(cutStr2, null);
            tp2.replaceSelection("");
        }else if(focus == 3){
            clipboard.setContents(cutStr3, null);
            tp3.replaceSelection("");
        }
    }

    //複製
    public void copy(){     
        String temp1 = tp1.getSelectedText();
        String temp2 = tp2.getSelectedText();
        String temp3 = tp3.getSelectedText();

        copyStr1 = new StringSelection(temp1);
        copyStr2 = new StringSelection(temp2);
        copyStr3 = new StringSelection(temp3);

        if(focus == 1){
            clipboard.setContents(copyStr1, null);
        }else if(focus == 2){
            clipboard.setContents(copyStr2, null);
        }else if(focus == 3){
            clipboard.setContents(copyStr3, null);
        }
    }

    //貼上
    public void paste(){
        final Transferable transferable = clipboard.getContents(this);
        final DataFlavor dataFlavor = DataFlavor.stringFlavor;

        if(transferable.isDataFlavorSupported(dataFlavor)){
            try{
                final String str = (String)transferable.getTransferData(dataFlavor);
                if(focus == 1){
                    tp1.replaceSelection(str);
                }else if(focus == 2){
                    tp2.replaceSelection(str);
                }else if(focus == 3){
                    tp3.replaceSelection(str);
                }
            }catch(Exception e1){
                e1.printStackTrace();
            }
        }
    }

相關推薦

Java實現複製貼上功能不同文字判斷

通過焦點事件判斷不同的文字域 不同文字域焦點事件的處理 tp1.addFocusListener(new FocusListener(){ @Override public void focu

安卓監聽複製貼上事件例項

本文的剪下複製貼上事件只針對文字,URI 和 intent 不在討論範圍內。 例項程式碼實現了2個功能: 監聽剪下複製貼上事件; 獲取剪下複製或貼上的文字; 剪下複製 有2個方法監聽剪下複製事件:剪下板和 EditText 的 onText

實現點選複製貼上功能

實現功能:實現點選轉換為固定格式的json格式;並且實現點選複製功能 使用前端程式碼實現: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> &

Linux檔案複製貼上

在home目錄下有wwwroot目錄,wwwroot下有sinozzz目錄,即/home/wwwroot/sinozzz 一、目錄建立 在/home/wwwroot目錄下新建一個sinozzz123的資料夾 mkdir /home/wwwroot/sinozzz12

利用iis虛擬目錄實現文件服務器功能分布式存儲

clas mage 自己的 關於 彈出 fig文件 images span sdn 要求說明:   通過網站上傳文件保存到統一的文件服務器上。   服務器說明:     1.文件服務器以下稱為FilesServer,IP地址為:192.168.1.213    2.Web服

Cherry.chen window.clipboardData實現切板操作總結 好像只有ie好用

clas 成功 firefox 剪切 blog mage 剪切板 頁面 clear window.clipboardData的作用是在頁面上將需要的東西復制到剪貼板上,提供了對於預定義的剪貼板格式的訪問,以便在編輯操作中使用。 三個方法 (1)clearData(sDa

【LeetCode-面試演算法經典-Java實現】【100-Same Tree兩棵樹是否相同

原題   Given two binary trees, write a function to check if they are equal or not.   Two bina

java 設計模式之簡單工廠模式樣例源碼

ace org build cep 說明 pad 客戶 enc trac 簡單工廠模式的目的:使得對象的創建和使用分離,降低系統耦合,對用戶隱藏類的實例創建細節 簡單工廠模式屬於創建型模式的一種 簡單工廠模式的定義:定義一個工廠類,它可以根據參數的不同返回不

Js實現——右鍵出現選單,選單中有新建,複製貼上,刪除

描述:    單擊右鍵出現選單,選單中有新建,複製,剪下,貼上,刪除    選擇新建時,建立第一個div,寬高50,顏色隨機,並且放在滑鼠點選的位置    點選div,div被選中,加邊線,如果被選中,div可以被拖動,當選擇別的d

Cocos2d-x中用Lua實現板的文字複製貼上(iOS篇)

這個問題搞死我了……弄了好久才弄好。看上去其實挺唬人的,需要從Lua調到C++,再調到OC,其實仔細分析一下的話還好。我們下面開始講解: 首先是Lua調到C++(如果直接是C++的專案請無視): 首先,我們在專案裡建一個ClipboardHelper.cpp,一個Clipb

Java基礎學習之IO流模擬輸入複製貼上功能

學習了IO流後,瞭解其IO體系: 字元流: Reader:輸入流 讀取 進入記憶體 Writer:輸出流 寫入 進硬碟 位元組流: InputStream:輸入流 讀取 進記憶體 OutputStream:輸出流 寫入 進硬碟 下面通過字元流的輸入流(FileReader)以及輸出流(F

js實現複製貼上功能

在專案中使用到複製貼上功能,雖然網上有很多大牛封裝了很多的外掛,但是還是想不去使用外掛,就像自己來實現這個功能。 初步想法: 1. 獲取到需要複製的內容,這裡我可以將需要複製的內容放在input或者textarea的value中,然後使用input的select()方法來獲取到值; 2. 獲取到值了,那我

使用vue+element實現表格的新增、編輯拉框、刪除功能Vue開發二

幾天前,需要做一個需求:新增一個xml檔案時,新增數量不確定、屬性相同的xml標籤,想了想可以用表格做啊,屬性相同,使用統一的表頭,下面的屬性值只是進行增刪改不就行了,就類似於mysql給表裡填資料一樣。 可是目前似乎還沒有表格的直接增刪改一行的操作,那要怎麼實現呢?於是,通過上網以及自己的思考

最新js實現複製貼上功能例項

功能:實現滑鼠點選複製內容 描述:使用與手機網站、pc等端。 實現點選複製貼上功能的程式碼例項: function copy_text(text) { if(text.indexOf('-') !== -1) {

微信小程式評論功能實現原始碼,複製貼上

wxml: 傳送 js: var ComContent = ‘’ var CommentList = ‘[]’ var app = getApp() Page({ /** * */ data: { CommentList: [{}], bindContent: null, Co

金蝶實現EXCEL複製貼上功能

金蝶K3 WISE從14.0開始可以從EXCEL中直接複製資料貼上到單據當中,可以說比以前一個個手動輸入方便了很多.如果有多個欄位需要同時複製的話,就不支援了,只能一列一列複製,有點麻煩。 為了操作方便或滿足以前版本沒有複製功能,很多網友製作了從EXCEL文件中選擇匯入的功能,滿足了一定的需求,

工具篇——NullMenuEditText禁止複製貼上功能的EditText

寫程式碼的四點:      1.明確需求。要做什麼?      2.分析思路。要怎麼做?(1,2,3……)      3.確定步驟。每一個思路要用到哪些語句、方法和物件。      4.程式碼實現。用具體的語言程式碼將思路實現出來。 學習新技術的四點:    

【資料結構與演算法-java實現】二 複雜度分析:最好、最壞、平均、均攤時間複雜度的概念

上一篇文章學習了:如何分析、統計演算法的執行效率和資源消耗? 點選連結檢視上一篇文章:複雜度分析上 今天的文章學習以下內容: 最好情況時間複雜度 最壞情況時間複雜度 平均情況時間複雜度 均攤時間複雜度 1、最好與最壞情況時間複雜度 我們首先

java實現windowsamr轉換為mp3實現微信語音和qq語音轉換

最近做一個專案需要將微信的語音檔案放在頁面進行播放,查了好多資料發現,web頁面直接播放並沒有一個好的解決方案,於是就想到了先將amr檔案轉換成易於在頁面播放的mp3檔案,然後在進行播放,現在將amr檔案轉化為mp3檔案的幾種方式以及踩過的坑分享一下: 查了好多資料,總結一下,amr轉換mp3的方式有如下幾

Java實現幾種常見排序方法 .

 插入排序的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃描,找到相應位置並插入。其具體步驟參見程式碼及註釋。 [java] view plaincopyprint? /**  * 插入排序<br/>  * <ul>