rendered paste bodyimport java.awt.EventQueue;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.FlavorEvent;
import java.awt.datatransfer.FlavorListener;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.awt.TrayIcon;
import java.io.IOException;
public class JClipboard {
private Clipboard systemClipboard;
public JClipboard(final TrayIcon ti) {
// Get system clipboard
systemClipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
systemClipboard.addFlavorListener(new FlavorListener() {
public void flavorsChanged(FlavorEvent e) {
System.out.println(e);
Clipboard clipboard = (Clipboard)e.getSource();
try {
Transferable content = clipboard.getContents(this);
if (content == null) {
System.out.println("Content is empty!");
return;
}
if (!content.isDataFlavorSupported(DataFlavor.stringFlavor)) {
System.out.println("StringFlavor not supported!");
return;
}
try {
String data = (String)content.getTransferData(DataFlavor.stringFlavor);
ti.displayMessage("Clipboard Activity",
data,
TrayIcon.MessageType.INFO);
} catch (UnsupportedFlavorException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
} catch (IllegalStateException ex) {
ex.printStackTrace();
}
}
});
}
}