扣丁学堂Java在线学习之SWT(JFace)体验之复制粘贴

2018-05-31 13:56:26 608浏览

今天小编给大家分享的是扣丁学堂Java在线学习之SWT(JFace)体验之复制粘贴,别的不多说了,下面和扣丁学堂小编一起来看一下SWT(JFace)体验之复制粘贴吧。



扣丁学堂Java在线学习之SWT(JFace)体验之复制粘贴



演示代码如下:



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(); 
    } 
}



以上就是扣丁学堂Java培训小编给大家分享的SWT(JFace)体验之复制粘贴,希望对小伙伴们有所帮助,想要了解更多内容的小伙伴可以登录扣丁学堂官网咨询。扣丁学堂是专业的Java培训机构,不仅有专业的老师和与时俱进的课程体系,还有大量的Java在线教程供学员观看学习,心动的小伙伴快快行动吧。扣丁学堂Java技术交流群:670348138。


扣丁学堂微信公众号

【关注微信公众号获取更多学习资料】



查看更多关于“Java开发资讯的相关文章>>




标签: 扣丁学堂Java在线学习 SWT(JFace)体验之复制粘贴 Java培训 Java基础教程 Java学习视频 Java教学视频 java入门教程 Java教程视频 java在线学习 java在线视频 java在线教程

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号