Java Read and Copy to System Clipboard
Beberapa hari yang lalu diproject saya kebetulan membutuhkan fitur hasil proses program berupa String akan di-copy to system Clipboard, jadinya iseng2 browsing bentar dapatlah contoh implementasi code nya di Java (itulah enaknya Java, sebagai salah satu General Purpose Programming Language yang mainstream dan cukup berumur, banyaknya dokumentasi yang tersedia sangat membantu
). Tujuannya cukup sederhana saja, yaitu copy sesuatu nilai (String) ke system Clipboard atau membaca nilai System Clipboard saat itu, jadi seperti kalau kita Ctrl + C (copy) & Ctrl + V (paste). Ok langsung saja, inilah contoh code nya :
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.ClipboardOwner;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.awt.Toolkit;
import java.io.*;
public class FunctionClipboard implements ClipboardOwner{
public void setClipboardContents(String aString) {
StringSelection stringSelection = new StringSelection(aString);
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(stringSelection, this);
}
public String getClipboardContents() {
String result = "";
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable contents = clipboard.getContents(null);
boolean hasTransferableText =
(contents != null)
&& contents.isDataFlavorSupported(DataFlavor.stringFlavor);
if (hasTransferableText) {
try {
result = (String) contents.getTransferData(DataFlavor.stringFlavor);
} catch (UnsupportedFlavorException ex) {
System.out.println(ex);
ex.printStackTrace();
} catch (IOException ex) {
System.out.println(ex);
ex.printStackTrace();
}
}
return result;
}
public void lostOwnership(Clipboard clipboard, Transferable contents) {
}
}
Untuk pemakaian instance object baru atas class ini, kemudian telah disediakan method/function setter & getternya, apabila akan men-copy nilai ke system Clipboard, tinggal :
setClipboardContents("input Hello World ke Clipboard");
Untuk membaca nilai System Clipboard saat ini tinggal :
getClipboardContents()
Semoga bermanfaat












leave a comment