• title: JCheckBoxMenuItemのチェックアイコンを変更する tags: [JCheckBoxMenuItem, Icon, UIManager] author: aterai pubdate: 2009-09-14T14:19:06+09:00 description: JCheckBoxMenuItemのチェックアイコンを変更します。 hreflang:
       href: http://java-swing-tips.blogspot.com/2009/10/jcheckboxmenuitem-icon.html
       lang: en

概要

JCheckBoxMenuItemのチェックアイコンを変更します。

サンプルコード

UIManager.put("CheckBoxMenuItem.checkIcon", new Icon() {
  @Override public void paintIcon(Component c, Graphics g, int x, int y) {
    Graphics2D g2 = (Graphics2D) g;
    g2.translate(x, y);
    ButtonModel m = ((AbstractButton) c).getModel();
    g2.setPaint(m.isSelected() ? Color.ORANGE : Color.GRAY);
    g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                        RenderingHints.VALUE_ANTIALIAS_ON);
    g2.fillOval(0, 2, 10, 10);
    g2.translate(-x, -y);
  }
  @Override public int getIconWidth()  {
    return 14;
  }
  @Override public int getIconHeight() {
    return 14;
  }
});
menu.add(new JCheckBoxMenuItem("checkIcon test"));
View in GitHub: Java, Kotlin

解説

JCheckBoxのチェックアイコンは、setIconメソッドで変更できますが、JCheckBoxMenuItemはチェックアイコンとは別のアイコンが設定されるので、UIManager.put("CheckBoxMenuItem.checkIcon", icon);を使用しています。

参考リンク

コメント