OSDN Git Service

add flexible dpi Icon class
[jindolf/Jindolf.git] / src / main / java / jp / sfjp / jindolf / ResourceManager.java
index da7c51e..f360cbb 100644 (file)
@@ -19,7 +19,9 @@ import java.net.URL;
 import java.nio.charset.Charset;
 import java.util.Properties;
 import javax.imageio.ImageIO;
+import javax.swing.Icon;
 import javax.swing.ImageIcon;
+import jp.sfjp.jindolf.view.FlexiIcon;
 
 /**
  * 各種リソースファイルの管理。
@@ -56,6 +58,8 @@ public final class ResourceManager {
 
     private static final Charset CS_UTF8 = Charset.forName("UTF-8");
 
+    private static final int BTN_SZ = 24;
+
     static{
         Class<?> rootKlass = Jindolf.class;
 
@@ -247,6 +251,30 @@ public final class ResourceManager {
     }
 
     /**
+     * リソース名を用いて正方形ボタン用アイコン画像を取得する。
+     *
+     * @param resPath アイコン画像リソース名
+     * @return アイコン画像。リソースが見つからなければnull。
+     */
+    public static Icon getButtonIcon(String resPath){
+        Icon result = getSquareIcon(resPath, BTN_SZ);
+        return result;
+    }
+
+    /**
+     * リソース名を用いて正方形アイコン画像を取得する。
+     *
+     * @param resPath アイコン画像リソース名
+     * @param sz 正方形アイコン寸法
+     * @return アイコン画像。リソースが見つからなければnull。
+     */
+    public static Icon getSquareIcon(String resPath, int sz){
+        BufferedImage image = getBufferedImage(resPath);
+        Icon result = new FlexiIcon(image, sz, sz);
+        return result;
+    }
+
+    /**
      * リソース名を用いてプロパティを取得する。
      * @param resPath プロパティファイルのリソース名
      * @return プロパティ。リソースが読み込めなければnull。