1 package charactermanaj.clipboardSupport;
4 import java.awt.Toolkit;
5 import java.awt.datatransfer.Clipboard;
6 import java.awt.image.BufferedImage;
7 import java.io.IOException;
11 * クリップボード用ユーテリティクラス.<br>
14 public final class ClipboardUtil {
16 private ClipboardUtil() {
21 * クリップボードにイメージを設定する.<br>
22 * JDKのクリップボード経由の画像転送では透過色を表現できないので、背景色を指定する必要がある.<br>
23 * (ただし、このアプリケーション内であれば透過色を維持したままコピー可能.)<br>
27 public static void setImage(BufferedImage img, Color bgColor) {
28 if (img == null || bgColor == null) {
29 throw new IllegalArgumentException();
32 Toolkit tk = Toolkit.getDefaultToolkit();
33 Clipboard cb = tk.getSystemClipboard();
35 ImageSelection imageSelection = new ImageSelection(img, bgColor);
36 cb.setContents(imageSelection, null);
41 * @return イメージがあればtrue
43 public static boolean hasImage() {
44 Toolkit tk = Toolkit.getDefaultToolkit();
45 Clipboard cb = tk.getSystemClipboard();
46 return ImageSelection.isSupprotedFlavorAvailable(cb);
50 * クリップボードからイメージを取得する.<br>
51 * 取得できる形式がない場合はnullを返す.<br>
53 * @throws IOException 読み取り中に例外が発生した場合
55 public static BufferedImage getImage() throws IOException {
56 Toolkit tk = Toolkit.getDefaultToolkit();
57 Clipboard cb = tk.getSystemClipboard();
58 return ImageSelection.getImage(cb);