jw_cad 外部変形 - (1198) javaでクリップボードを使う -

外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。

 

javaクリップボードを使う

:javaクリップボードを使う
@echo off
if not exist %~dp0Clipclass (
  for /f "delims=:" %%n in ('findstr /n "^#!" %0') do (
    more +%%n %0 > %~dpn0.java
    javac -encoding shift_jis %~dpn0.java
  )
)
java -Dfile.encoding=shift_jis -classpath %~dp0 Clip > jwc_temp.txt
goto:eof

REM #jww
REM #e

#!この次の行からプログラムを書いてください
import java.awt.*;
import java.awt.datatransfer.*;
import java.io.*;

class Clip {
  public static String getClipboardString() { //get
    Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
    try {
      return (String) clipboard.getData(DataFlavor.stringFlavor);
    } catch (UnsupportedFlavorException e) {
      return null;
    } catch (IOException e) {
      return null;
    }
  }

  public static void setClipboardString(String str) { //set
    Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();

    StringSelection text = new StringSelection(str);
    clipboard.setContents(text, text);
  }

  public static void clearClipboardString() { //clear
    Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();

    StringSelection text = new StringSelection("");
    clipboard.setContents(text, text);
  }

  public static void main(String[] args) {
    setClipboardString("ようこそ ありがとう");
//    clearClipboardString();
    String str = getClipboardString();
    System.out.printf("h#clip=%s\n", str);
  }
}