这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 扣丁学堂Java在线学习之SWT(JFace)体验之复制粘贴法

共1条 1/1 1 跳转至

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

菜鸟
2021-02-24 11:10:50     打赏

今天小编给大家分享的是扣丁学堂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技术交流群:487098661。微信号:codingbb



共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]