2007/12/07

Groovyでクリップボード操作

groovyでしかできないわけではないのですが、 clipboardを操作するためのスクリプト(クラス)を作成してみました。

1.以下のソースを、クラスパスの通る場所に作成します。

import java.awt.Toolkit
import java.awt.datatransfer.Clipboard
import java.awt.datatransfer.DataFlavor
import java.awt.datatransfer.StringSelection
import java.awt.datatransfer.Transferable
import java.awt.datatransfer.UnsupportedFlavorException
import java.io.IOException


class GClipBoard {
    def clipboard = Toolkit.getDefaultToolkit().getSystemClipboard()
    
    public void setText(sendStr) {

        def ss = new StringSelection(sendStr)
        clipboard.setContents(ss, ss)
    }

    public getText() {

        Transferable recive = clipboard.getContents(null)

        def recieveStr = null

        try {
            recieveStr = (String) recive.getTransferData(DataFlavor.stringFlavor)
        } catch (UnsupportedFlavorException e) {
            recieveStr = ""
        } catch (IOException e) {
            recieveStr = ""
        }
        return recieveStr
    }
}

2.textプロパティで読み書きできます。

c = new GClipBoard()

text = c.text



println """クリップの内容は・・・
${text}
でした。"""

意外と簡単にクリップボード操作が可能です。

0 件のコメント:

コメントを投稿