import charactermanaj.model.PartsIdentifier;
import charactermanaj.ui.model.ColorChangeEvent;
import charactermanaj.ui.model.ColorChangeListener;
+import charactermanaj.ui.util.ScaleSupport;
import charactermanaj.ui.util.SpinnerWheelSupportListener;
import charactermanaj.util.ErrorMessageHelper;
import charactermanaj.util.LocalizedResourcePropertyLoader;
captionBase = caption + name;
setTitle(captionBase);
+ ScaleSupport scaleSupport = ScaleSupport.getInstance(this);
+
// ダイアログを非表示にする.
final AbstractAction actHide = new AbstractAction() {
private static final long serialVersionUID = 1L;
btnPanelGrp.add(toolBar, BorderLayout.NORTH);
if (partsCategory.isMultipleSelectable()) {
- UIHelper uiUty = UIHelper.getInstance();
- JButton upBtn = uiUty.createTransparentButton("icons/arrow_up.png", "icons/arrow_up2.png");
- JButton downBtn = uiUty.createTransparentButton("icons/arrow_down.png", "icons/arrow_down2.png");
- JButton sortBtn = uiUty.createTransparentButton("icons/sort.png", "icons/sort2.png");
+ JButton upBtn = uiUtl.createTransparentButton("icons/arrow_up.png", "icons/arrow_up2.png");
+ JButton downBtn = uiUtl.createTransparentButton("icons/arrow_down.png", "icons/arrow_down2.png");
+ JButton sortBtn = uiUtl.createTransparentButton("icons/sort.png", "icons/sort2.png");
upBtn.setToolTipText(strings.getProperty("tooltip.up"));
downBtn.setToolTipText(strings.getProperty("tooltip.down"));
}
});
+ // アイコンスケールの設定
+ ScaleSupport scaleSupport = ScaleSupport.getInstance(this);
+ UIHelper uiUtl = UIHelper.getInstance();
+ uiUtl.setScaleX(scaleSupport.getManualScaleX());
+ uiUtl.setScaleY(scaleSupport.getManualScaleY());
+
// アイコンの設定
- icon = UIHelper.getInstance().getImage("icons/icon.png");
+ icon = uiUtl.getImage("icons/icon.png");
setIconImage(icon);
// 画面コンポーネント作成
PartsImageDirectoryWatchAgentFactory agentFactory = PartsImageDirectoryWatchAgentFactory.getFactory();
watchAgent = agentFactory.getAgent(characterData);
- previewPane = new PreviewPanel();
+ ScaleSupport scaleSupport = ScaleSupport.getInstance(this);
+
+ previewPane = new PreviewPanel(scaleSupport);
previewPane.setTitle(defaultPartsSetTitle);
previewPane.addPreviewPanelListener(new PreviewPanelListener() {
public void addFavorite(PreviewPanelEvent e) {
imageSelectPanels = new ImageSelectPanelList();
- ScaleSupport scaleSupport = ScaleSupport.getInstance(this);
-
JPanel imgSelectPanelsPanel = new JPanel();
BoxLayout bl = new BoxLayout(imgSelectPanelsPanel, BoxLayout.PAGE_AXIS);
imgSelectPanelsPanel.setLayout(bl);
import charactermanaj.graphics.filters.BackgroundColorFilter;
import charactermanaj.graphics.filters.BackgroundColorFilter.BackgroundColorMode;
import charactermanaj.model.AppConfig;
+import charactermanaj.ui.util.ScaleSupport;
import charactermanaj.ui.util.ScrollPaneDragScrollSupport;
import charactermanaj.util.LocalizedResourcePropertyLoader;
import charactermanaj.util.UIHelper;
private LinkedList<PreviewPanelListener> listeners = new LinkedList<PreviewPanelListener>();
- public PreviewPanel() {
+ public PreviewPanel(ScaleSupport scaleSupport) {
setLayout(new BorderLayout());
final AppConfig appConfig = AppConfig.getInstance();
final Properties strings = LocalizedResourcePropertyLoader.getCachedInstance()
.getLocalizedProperties(STRINGS_RESOURCE);
- UIHelper uiHelper = UIHelper.getInstance();
+ final UIHelper uiHelper = UIHelper.getInstance();
// ピンアイコン
Icon pinIcon = uiHelper.createTwoStateIcon(
// 円ボタン型チェックボックス用アイコンの実装
final Icon stateIcon = new Icon() {
public int getIconHeight() {
- return 12;
+ return (int)(12 * uiHelper.getScaleX());
}
public int getIconWidth() {
- return 6;
+ return (int)(6 * uiHelper.getScaleY());
};
public void paintIcon(Component c, Graphics g, int x, int y) {
boolean sw = false;
import java.awt.Component;
import java.awt.Container;
import java.awt.Graphics;
+import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;
return singleton;
}
+ private double scaleX = 1;
+
+ private double scaleY = 1;
+
+ public void setScaleX(double scaleX) {
+ this.scaleX = scaleX;
+ }
+
+ public double getScaleX() {
+ return scaleX;
+ }
+
+ public void setScaleY(double scaleY) {
+ this.scaleY = scaleY;
+ }
+
+ public double getScaleY() {
+ return scaleY;
+ }
+
/**
* 指定したコンテナに含まれる指定したコンポーネント型のすべてのコンポーネントを返す.<br>
* 一つも該当するものがなければ空を返す
}
int w = iconImage.getWidth();
int h = iconImage.getHeight();
- g.drawImage(iconImage, x, y, w, h, 0, 0, w, h, null);
+ g.drawImage(iconImage, x, y,
+ (int)(w * scaleX), (int)(h * scaleY), 0, 0, w, h, null);
}
public int getIconHeight() {
- return pinIcon1.getHeight();
+ return (int)(pinIcon1.getHeight() * scaleY);
}
public int getIconWidth() {
- return pinIcon1.getWidth();
+ return (int)(pinIcon1.getWidth() * scaleX);
}
};
throw new IllegalArgumentException();
}
JButton btn = new JButton();
- btn.setIcon(new ImageIcon(getImage(iconName)));
+ btn.setIcon(createImageIcon(iconName));
return btn;
}
if (normal == null || normal.length() == 0) {
throw new IllegalArgumentException();
}
- ImageIcon normIcon = new ImageIcon(getImage(normal));
+ ImageIcon normIcon = createImageIcon(normal);
JButton btn = new JButton(normIcon);
if (rollover != null && rollover.length() != 0) {
- ImageIcon rolloverIcon = new ImageIcon(getImage(rollover));
+ ImageIcon rolloverIcon = createImageIcon(rollover);
btn.setRolloverEnabled(true);
btn.setRolloverIcon(rolloverIcon);
btn.setPressedIcon(rolloverIcon);
}
/**
+ * イメージアイコンを取得する。
+ * 設定されているスケールに拡大されたイメージでアイコンが設定される。
+ * @param name アイコンリソース名
+ * @return スケール済みのイメージアイコン
+ */
+ public ImageIcon createImageIcon(String name) {
+ Image img;
+ if (scaleX != 1 || scaleY != 1) {
+ BufferedImage bimg = getImage(name);
+ img = bimg.getScaledInstance(
+ (int)(bimg.getWidth() * scaleX),
+ (int)(bimg.getHeight() * scaleY),
+ Image.SCALE_DEFAULT);
+ } else {
+ img = getImage(name);
+ }
+ return new ImageIcon(img);
+ }
+
+ /**
* リソースから画像を取得する.<br>
* 画像が取得できない場合は実行時例外を返す.<br>
* @param name リソース