Groovy(Java)でクリップボードを操作する
はじめに
Groovy Language でしかできないわけではないのですが、 クリップボードを操作するためのスクリプト(クラス)を作成してみました。
前提条件
Groovy がインストールされていることを確認
# 以下のコマンドでバージョンが表示されればインストールされている
$ groovy -v
手順
1.クリップボード操作クラスを作成
- カレントディレクトリに
GClipBoard.groovy
を作成
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() {
def recieveStr = ""
try {
Transferable recive = clipboard.getContents(null)
recieveStr = (String) recive.getTransferData(DataFlavor.stringFlavor)
} catch (Exception e) {
recieveStr = ""
}
return recieveStr
}
}
2.GClipBoard
クラスを利用するメイン処理を作成
- カレントディレクトリに
main.groovy
を作成- ポイントは先程作った
GClipBoard.groovy
ファイルと同じディレクトリに作成 - 余談ですが、GroovyのスクリプトはJavaのようにクラスを定義する必要はなく、したがってクラス名に合わせたファイル名にする必要もありません。
- ポイントは先程作った
def clipboard = new GClipBoard()
def text = clipboard.text
println "クリップの内容は・・・[${text}] でした。"
実行
コマンドラインから実行してみる。
$ groovy main.groovy
クリップの内容は・・・[ゲンゾウ] でした。
ひとこと
意外と簡単にクリップボード操作が可能です。
ディスカッション
コメント一覧
まだ、コメントがありません