源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

SWT(JFace)体验之复制粘贴

  • 时间:2021-11-08 22:42 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:SWT(JFace)体验之复制粘贴
演示代码如下:
[u]复制代码[/u] 代码如下:
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();     } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部