JAVA的剪切板

java的剪切板相关的操作相关的类和接口都放在了java.awt.datatransfer包下。下面是一个有关复制和粘帖的程序:
import java.awt.Frame;
import java.awt.BorderLayout;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.DataFlavor;
import java.awt.Toolkit;
import java.awt.TextArea;
import java.awt.Button;
import java.awt.Panel;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.Box;
import javax.swing.BoxLayout;
public class SimpleClipboard 
{
	private Frame f=new Frame("simple_clipboard");
	//get system clipboard
	private Clipboard clipboard=Toolkit.getDefaultToolkit().getSystemClipboard();
	private TextArea jtaCopyTo=new TextArea(5,20);
	private TextArea jtaPaste=new TextArea(5,20);
	private Button btCopy=new Button("copy");
	private Button btPaste=new Button("Paste");
	public void init(){
		Panel p=new Panel();
		p.add(btCopy);
		p.add(btPaste);
		btCopy.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				//将多行的字符串封装成StringSelection对象
				StringSelection contents=new StringSelection(jtaCopyTo.getText());
				clipboard.setContents(contents,null);
			}
		});
		btPaste.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				//判读剪切板中是否有东西
				if(clipboard.isDataFlavorAvailable(DataFlavor.stringFlavor)){
					try{
						//取出内容
						String content=(String)clipboard.getData(DataFlavor.stringFlavor);
						jtaPaste.append(content);
					}
					catch(Exception e2){
						e2.printStackTrace();
					}
				}
			}
		});
		//创建一个水平放置的BOX
		Box box=new Box(BoxLayout.X_AXIS);
		box.add(jtaCopyTo);
		box.add(jtaPaste);
		f.add(p,BorderLayout.SOUTH);
		f.add(box,BorderLayout.CENTER);
		f.pack();
		f.setVisible(true);
	}
	public static void main(String[] args) 
	{
		new SimpleClipboard().init();
	}
}
如果需要获取本地剪切板:Clipboard clipboard=new Clipboard("cb");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值