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實現windows下amr轉換為mp3(可實現微信語音和qq語音轉換)
最近做一個專案需要將微信的語音檔案放在頁面進行播放,查了好多資料發現,web頁面直接播放並沒有一個好的解決方案,於是就想到了先將amr檔案轉換成易於在頁面播放的mp3檔案,然後在進行播放,現在將amr檔案轉化為mp3檔案的幾種方式以及踩過的坑分享一下: 查了好多資料,總結一下,amr轉換mp3的方式有如下幾
Java實現幾種常見排序方法(下) .
插入排序的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃描,找到相應位置並插入。其具體步驟參見程式碼及註釋。 [java] view plaincopyprint? /** * 插入排序<br/> * <ul>