The demo code is as follows:
Copy Code code as follows:
Package swt_jface.demo11;
Import Org.eclipse.swt.SWT;
Import Org.eclipse.swt.dnd.Clipboard;
Import Org.eclipse.swt.dnd.RTFTransfer;
Import Org.eclipse.swt.dnd.TextTransfer;
Import Org.eclipse.swt.dnd.Transfer;
Import Org.eclipse.swt.dnd.TransferData;
Import Org.eclipse.swt.layout.GridLayout;
Import Org.eclipse.swt.widgets.Display;
Import org.eclipse.swt.widgets.Event;
Import Org.eclipse.swt.widgets.Listener;
Import Org.eclipse.swt.widgets.Shell;
Import Org.eclipse.swt.widgets.ToolBar;
Import Org.eclipse.swt.widgets.ToolItem;
public class Copypaste {
Display display = new display ();
Shell shell = new shell (display);
Public Copypaste () {
Shell.setlayout (New GridLayout ());
ToolBar ToolBar = new ToolBar (Shell, SWT. FLAT);
Toolitem itemcopy = new Toolitem (ToolBar, SWT. PUSH);
Toolitem itempaste = new Toolitem (ToolBar, SWT. PUSH);
Itemcopy.settext ("Copy");
Itempaste.settext ("Paste");
Itemcopy.addlistener (SWT. Selection, New Listener () {
public void Handleevent (event event) {
Clipboard Clipboard = new Clipboard (display);
String plaintext = "Hello world";
String Rtftext = "{\\rtf1\\b Hello World}";
Texttransfer Texttransfer = Texttransfer.getinstance ();
Rtftransfer Rfttransfer = Rtftransfer.getinstance ();
Clipboard.setcontents (New String[]{plaintext, Rtftext}, New Transfer[]{texttransfer, rfttransfer});
Clipboard.dispose ();
}
});
Itempaste.addlistener (SWT. Selection, New Listener () {
public void Handleevent (event event) {
Clipboard Clipboard = new Clipboard (display);
transferdata[] Transferdatas = Clipboard.getavailabletypes ();
for (int i=0; i<transferdatas.length; i++) {
if (Rtftransfer.getinstance (). Issupportedtype (Transferdatas[i])) {
System.out.println ("Data is available in RTF format");
Break
}
}
string plaintext = (string) clipboard.getcontents (Texttransfer.getinstance ());
String rtftext = (string) clipboard.getcontents (Rtftransfer.getinstance ());
System.out.println ("PLAIN:" + plaintext + "\ n" + "RTF:" + rtftext);
Clipboard.dispose ();
}
});
Shell.pack ();
Shell.open ();
while (!shell.isdisposed ()) {
if (!display.readanddispatch ()) {
Display.sleep ();
}
}
Display.dispose ();
}
public static void Main (string[] args) {
New Copypaste ();
}
}