OSDN Git Service

mavenによるビルドに変更
[charactermanaj/CharacterManaJ.git] / src / main / java / charactermanaj / clipboardSupport / ClipboardUtil.java
1 package charactermanaj.clipboardSupport;\r
2 \r
3 import java.awt.Color;\r
4 import java.awt.Toolkit;\r
5 import java.awt.datatransfer.Clipboard;\r
6 import java.awt.image.BufferedImage;\r
7 import java.io.IOException;\r
8 \r
9 \r
10 /**\r
11  * クリップボード用ユーテリティクラス.<br>\r
12  * @author seraphy\r
13  */\r
14 public final class ClipboardUtil {\r
15         \r
16         private ClipboardUtil() {\r
17                 super();\r
18         }\r
19         \r
20         /**\r
21          * クリップボードにイメージを設定する.<br>\r
22          * JDKのクリップボード経由の画像転送では透過色を表現できないので、背景色を指定する必要がある.<br>\r
23          * (ただし、このアプリケーション内であれば透過色を維持したままコピー可能.)<br>\r
24          * @param img イメージ\r
25          * @param bgColor 背景色\r
26          */\r
27         public static void setImage(BufferedImage img, Color bgColor) {\r
28                 if (img == null || bgColor == null) {\r
29                         throw new IllegalArgumentException();\r
30                 }\r
31 \r
32                 Toolkit tk  = Toolkit.getDefaultToolkit();\r
33                 Clipboard cb = tk.getSystemClipboard();\r
34                 \r
35                 ImageSelection imageSelection = new ImageSelection(img, bgColor);\r
36                 cb.setContents(imageSelection, null);\r
37         }\r
38 \r
39         /**\r
40          * クリップボード内にイメージがあるか?\r
41          * @return イメージがあればtrue\r
42          */\r
43         public static boolean hasImage() {\r
44                 Toolkit tk = Toolkit.getDefaultToolkit();\r
45                 Clipboard cb = tk.getSystemClipboard();\r
46                 return ImageSelection.isSupprotedFlavorAvailable(cb);\r
47         }\r
48         \r
49         /**\r
50          * クリップボードからイメージを取得する.<br>\r
51          * 取得できる形式がない場合はnullを返す.<br>\r
52          * @return 画像、もしくはnull\r
53          * @throws IOException 読み取り中に例外が発生した場合\r
54          */\r
55         public static BufferedImage getImage() throws IOException {\r
56                 Toolkit tk = Toolkit.getDefaultToolkit();\r
57                 Clipboard cb = tk.getSystemClipboard();\r
58                 return ImageSelection.getImage(cb);\r
59         }\r
60         \r
61 }\r