<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: clipboard code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Fri, 25 Jul 2008 01:04:10 GMT</pubDate>
    <description>DZone Snippets: clipboard code</description>
    <item>
      <title>Java - CUT&amp;PASTE</title>
      <link>http://snippets.dzone.com/posts/show/2909</link>
      <description>// Cut&amp;Paste Method&lt;br /&gt;&lt;code&gt;&lt;br /&gt;package system.clipboard;&lt;br /&gt;&lt;br /&gt;import java.awt.GridBagConstraints;&lt;br /&gt;import java.awt.GridBagLayout;&lt;br /&gt;import java.awt.datatransfer.Clipboard;&lt;br /&gt;import java.awt.datatransfer.ClipboardOwner;&lt;br /&gt;import java.awt.datatransfer.DataFlavor;&lt;br /&gt;import java.awt.datatransfer.StringSelection;&lt;br /&gt;import java.awt.datatransfer.Transferable;&lt;br /&gt;import java.awt.event.ActionEvent;&lt;br /&gt;import java.awt.event.ActionListener;	 &lt;br /&gt;&lt;br /&gt;import javax.swing.JButton;&lt;br /&gt;import javax.swing.JFrame;&lt;br /&gt;import javax.swing.JTextArea;&lt;br /&gt;&lt;br /&gt;public class ClipBoard extends JFrame implements ClipboardOwner, ActionListener&lt;br /&gt;{&lt;br /&gt;	private static final long serialVersionUID = 1L;&lt;br /&gt;	&lt;br /&gt;	JTextArea srcText, dstText;&lt;br /&gt;	JButton copyButton, pasteButton;&lt;br /&gt;	Clipboard clipboard = getToolkit().getSystemClipboard();&lt;br /&gt;&lt;br /&gt;	public ClipBoard()&lt;br /&gt;	{&lt;br /&gt;		super("Clipboard Test");&lt;br /&gt;		&lt;br /&gt;		GridBagLayout gridbag = new GridBagLayout();&lt;br /&gt;		GridBagConstraints c = new GridBagConstraints();&lt;br /&gt;		&lt;br /&gt;		setLayout(gridbag);&lt;br /&gt;		&lt;br /&gt;		srcText = new JTextArea(8, 32);&lt;br /&gt;		c.gridwidth = 2;&lt;br /&gt;		c.anchor = GridBagConstraints.CENTER;&lt;br /&gt;		gridbag.setConstraints(srcText, c);&lt;br /&gt;		add(srcText);&lt;br /&gt;&lt;br /&gt;		copyButton = new JButton("Copy Above");&lt;br /&gt;		copyButton.setActionCommand("copy");&lt;br /&gt;		copyButton.addActionListener(this);&lt;br /&gt;		c.gridy = 1;&lt;br /&gt;		c.gridwidth = 1;&lt;br /&gt;		gridbag.setConstraints(copyButton, c);&lt;br /&gt;		add(copyButton);&lt;br /&gt;		&lt;br /&gt;		pasteButton = new JButton("Paste Below");&lt;br /&gt;		pasteButton.setActionCommand("paste");&lt;br /&gt;		pasteButton.addActionListener(this);&lt;br /&gt;		pasteButton.setEnabled(false);&lt;br /&gt;		c.gridx = 1;&lt;br /&gt;		gridbag.setConstraints(pasteButton, c);&lt;br /&gt;		add(pasteButton);&lt;br /&gt;		&lt;br /&gt;		dstText = new JTextArea(8, 32);&lt;br /&gt;		c.gridx = 0;&lt;br /&gt;		c.gridy = 2;&lt;br /&gt;		c.gridwidth = 2;&lt;br /&gt;		gridbag.setConstraints(dstText, c);&lt;br /&gt;		add(dstText);&lt;br /&gt;		&lt;br /&gt;		pack();&lt;br /&gt;	}&lt;br /&gt;	&lt;br /&gt;	public void actionPerformed(ActionEvent evt)&lt;br /&gt;	{&lt;br /&gt;		String cmd = evt.getActionCommand();&lt;br /&gt;		&lt;br /&gt;		if(cmd.equals("copy")) &lt;br /&gt;		{&lt;br /&gt;			// Implement Copy operation&lt;br /&gt;			String srcData = srcText.getText();&lt;br /&gt;			&lt;br /&gt;			if(srcData != null)&lt;br /&gt;			{&lt;br /&gt;				StringSelection contents = new StringSelection(srcData);&lt;br /&gt;				clipboard.setContents(contents, this);&lt;br /&gt;				pasteButton.setEnabled(true);&lt;br /&gt;			}&lt;br /&gt;		}&lt;br /&gt;		else if(cmd.equals("paste"))&lt;br /&gt;		{&lt;br /&gt;			// Implement Paste operation&lt;br /&gt;			Transferable content = clipboard.getContents(this);&lt;br /&gt;			if(content != null) &lt;br /&gt;			{&lt;br /&gt;				try&lt;br /&gt;				{&lt;br /&gt;					String dstData = (String) content.getTransferData(DataFlavor.stringFlavor);&lt;br /&gt;					dstText.append(dstData);&lt;br /&gt;				}&lt;br /&gt;				catch(Exception e)&lt;br /&gt;				{&lt;br /&gt;					System.out.println("Couldn't get contents in format: " + DataFlavor.stringFlavor.getHumanPresentableName());&lt;br /&gt;				}&lt;br /&gt;			}&lt;br /&gt;		}&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	public void lostOwnership(Clipboard clipboard, Transferable contents)&lt;br /&gt;	{&lt;br /&gt;		System.out.println("Clipboard contents replaced");&lt;br /&gt;	}&lt;br /&gt;	&lt;br /&gt;	public static void main(String[] args) &lt;br /&gt;	{&lt;br /&gt;		ClipBoard test = new ClipBoard();&lt;br /&gt;		test.setVisible(true);&lt;br /&gt;	}&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Thu, 26 Oct 2006 18:39:27 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/2909</guid>
      <author>whitetiger ()</author>
    </item>
    <item>
      <title>Getting HTML from Windows clipboard</title>
      <link>http://snippets.dzone.com/posts/show/1695</link>
      <description>Get the code for class HtmlClipboard() by Phillip Piper &lt;a href=http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/474121&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Usage&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&gt;&gt;&gt; cb = HtmlClipboard()&lt;br /&gt;&gt;&gt;&gt; cb.GetAvailableFormats()&lt;br /&gt;[49161, 49562, 49339, 49560, 49561, 13, 1, 49334, 49335, 49333, 49344, 49478, 49171, 16, 7]&lt;br /&gt;&gt;&gt;&gt; cb.HasHtmlFormat()&lt;br /&gt;True&lt;br /&gt;&gt;&gt;&gt; cb.GetFromClipboard()&lt;br /&gt;&gt;&gt;&gt; cb.htmlClipboardVersion&lt;br /&gt;'0.9'&lt;br /&gt;&gt;&gt;&gt; cb.GetFragment()&lt;br /&gt;'&lt;p&gt;Writing to the clipboard is &lt;strong&gt;easy&lt;/strong&gt; with this code.&lt;/p&gt;'&lt;br /&gt;&gt;&gt;&gt; cb.GetSource()&lt;br /&gt;'http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/474121'&lt;br /&gt;&gt;&gt;&gt; &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;You can also put a html fragment to the clipboard as well.&lt;br /&gt;See more detials in &lt;a href=http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/474121&gt;the recipe&lt;/a&gt;.</description>
      <pubDate>Mon, 13 Mar 2006 21:33:52 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/1695</guid>
      <author>korakot (Korakot Chaovavanich)</author>
    </item>
    <item>
      <title>clip function</title>
      <link>http://snippets.dzone.com/posts/show/1084</link>
      <description>&lt;code&gt;&lt;br /&gt;    clip: func ["write to clipboard shortcut" target /local res] [&lt;br /&gt;        write clipboard://&lt;br /&gt;            res: either any [file? target url? target] [read target] [target]&lt;br /&gt;        res&lt;br /&gt;    ]&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Tue, 10 Jan 2006 05:08:59 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/1084</guid>
      <author>gregg.irwin (Gregg Irwin)</author>
    </item>
    <item>
      <title>setClipboard for Firefox</title>
      <link>http://snippets.dzone.com/posts/show/1080</link>
      <description>post : 2006-01-10&lt;br /&gt;update : 2006-01-10&lt;br /&gt;maybe work : Firefox1.5 and Opera8.5&lt;br /&gt;&lt;code&gt;&lt;br /&gt;function setClipboard(text){&lt;br /&gt;	var url = [&lt;br /&gt;		'data:text/html;charset=utf-8;base64,PGJvZHk+PC9ib2',&lt;br /&gt;		'R5PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKGZ1',&lt;br /&gt;		'bmN0aW9uKGVuY29kZWQpe3ZhciBzd2ZfZGF0YSA9IFsKICdkYX',&lt;br /&gt;		'RhOmFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoO2Jhc2U2',&lt;br /&gt;		'NCxRMWRUQjJ3JywKICdBQUFCNG5EUGdZbGpBd01qSTRNejAlMk',&lt;br /&gt;		'YlMkY5JTJGZTJaZkJnYUdhV3dNRE1uNUthJywKICdrTU10TjRH',&lt;br /&gt;		'ZGdaZ1NJTXdaWEZKYW01UUFFJTJCQm9iaTFCTG5uTXlDcFB6RW',&lt;br /&gt;		'9oU0dJJywKICdQRnAlMkZBeHNEREJRa3BGWkRGUUZGQ2d1eVM4',&lt;br /&gt;		'QXlqSTRBRVVCaXkwVndBJTNEJTNEJwpdLmpvaW4oIiIpOwpkb2',&lt;br /&gt;		'N1bWVudC5ib2R5LmlubmVySFRNTCA9IFsKICc8ZW1iZWQgc3Jj',&lt;br /&gt;		'PSInLHN3Zl9kYXRhLCciICcsCiAnRmxhc2hWYXJzPSJjb2RlPS',&lt;br /&gt;		'csZW5jb2RlZCwnIj4nLAogJzwvZW1iZWQ+JwpdLmpvaW4oIiIp',&lt;br /&gt;		'Owp9KSgi',&lt;br /&gt;		base64encode( encodeURIComponent(text) + '")&lt;/'+'script&gt;')&lt;br /&gt;	].join("");&lt;br /&gt;	var tmp = document.createElement("div");&lt;br /&gt;	tmp.innerHTML = [&lt;br /&gt;		 '&lt;iframe src="',url,'"'&lt;br /&gt;		,' width="0" height="0"&gt;'&lt;br /&gt;		,'&lt;/iframe&gt;'&lt;br /&gt;	].join("");&lt;br /&gt;	with(tmp.style){&lt;br /&gt;		position ="absolute";&lt;br /&gt;		left = "-10px";&lt;br /&gt;		top  = "-10px";&lt;br /&gt;		visibility = "hidden";&lt;br /&gt;	};&lt;br /&gt;	document.body.appendChild(tmp);&lt;br /&gt;	setTimeout(function(){document.body.removeChild(tmp)},1000);&lt;br /&gt;	function base64encode(str){&lt;br /&gt;		var Chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");&lt;br /&gt;		var c1, c2, c3;&lt;br /&gt;		var buf = [];&lt;br /&gt;		var len = str.length;&lt;br /&gt;		var i = 0;&lt;br /&gt;		while(i &lt; len){&lt;br /&gt;			c1 = str.charCodeAt(i) &amp; 0xff;&lt;br /&gt;			c2 = str.charCodeAt(i+1);&lt;br /&gt;			c3 = str.charCodeAt(i+2);&lt;br /&gt;			buf.push(Chars[(c1 &gt;&gt; 2)]);&lt;br /&gt;			if(i+1 == len){&lt;br /&gt;				buf.push(Chars[(c1 &amp; 0x3) &lt;&lt; 4],"==");&lt;br /&gt;				break;&lt;br /&gt;			}&lt;br /&gt;			buf.push(Chars[((c1 &amp; 0x3) &lt;&lt; 4) | ((c2 &amp; 0xF0) &gt;&gt; 4)]);&lt;br /&gt;			if(i+2 == len){&lt;br /&gt;				buf.push(Chars[(c2 &amp; 0xF) &lt;&lt; 2],"=");&lt;br /&gt;				break;&lt;br /&gt;			}&lt;br /&gt;			buf.push(&lt;br /&gt;				Chars[((c2 &amp; 0xF) &lt;&lt; 2) | ((c3 &amp; 0xC0) &gt;&gt; 6)],&lt;br /&gt;				Chars[(c3 &amp; 0x3F)]&lt;br /&gt;			);&lt;br /&gt;			i+=3;&lt;br /&gt;		}&lt;br /&gt;		return buf.join("")&lt;br /&gt;	}&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://la.ma.la/misc/js/setclipboard_for_firefox.html"&gt;here is demo.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;just a firefox only&lt;br /&gt;&lt;a href="http://la.ma.la/misc/js/setclipboard.txt"&gt;http://la.ma.la/misc/js/setclipboard.txt&lt;/a&gt;</description>
      <pubDate>Mon, 09 Jan 2006 19:51:18 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/1080</guid>
      <author>ma.la (ma.la)</author>
    </item>
    <item>
      <title>Get and set windows clipboard</title>
      <link>http://snippets.dzone.com/posts/show/724</link>
      <description>From June Kim's &lt;a href=http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/150115&gt;recipe&lt;/a&gt;.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;import win32clipboard as w &lt;br /&gt;import win32con&lt;br /&gt;&lt;br /&gt;def getText(): &lt;br /&gt;    w.OpenClipboard() &lt;br /&gt;    d=w.GetClipboardData(win32con.CF_TEXT) &lt;br /&gt;    w.CloseClipboard() &lt;br /&gt;    return d &lt;br /&gt; &lt;br /&gt;def setText(aType,aString): &lt;br /&gt;    w.OpenClipboard()&lt;br /&gt;    w.EmptyClipboard()&lt;br /&gt;    w.SetClipboardData(aType,aString) &lt;br /&gt;    w.CloseClipboard()&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Fri, 16 Sep 2005 19:21:59 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/724</guid>
      <author>korakot (Korakot Chaovavanich)</author>
    </item>
  </channel>
</rss>
