クリップボード

Processingでクリップボードの読み書き

Processingでクリップボードの読み書き

import java.awt.datatransfer.*;
import java.awt.Toolkit;

void setup() {
  setClipboardString("abc");//クリップボードにテキストを設定
  println(getClipboardString());//クリップボードからテキストを取得
}

/**
 * クリップボードにテキストを設定します。
 * @param text 設定するテキスト
 */
void setClipboardString(String text) {
  Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
  StringSelection stringSelection = new StringSelection(text);
  clipboard.setContents(stringSelection, stringSelection);
}

/**
 * クリップボードからテキストを取得します。
 * @return
 */
String getClipboardString() {
  Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
  String str = "";
  try {
    str = (String)clipboard.getContents(null).getTransferData(DataFlavor.stringFlavor);
  } 
  catch(UnsupportedFlavorException e) {
    return null;//e.printStackTrace();
  } 
  catch (IOException e) {
    return null;//e.printStackTrace();
  }
  return str;
}