• category: swing folder: CheckBoxMenuItemIcon title: JCheckBoxMenuItemのチェックアイコンを変更する tags: [JCheckBoxMenuItem, Icon, UIManager] author: aterai pubdate: 2009-09-14T14:19:06+09:00 description: JCheckBoxMenuItemのチェックアイコンを変更します。 image: https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTI5TuivhI/AAAAAAAAATg/nfren8EjliA/s800/CheckBoxMenuItemIcon.png 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.create();
    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.dispose();
  }
  @Override public int getIconWidth()  {
    return 14;
  }
  @Override public int getIconHeight() {
    return 14;
  }
});
menu.add(new JCheckBoxMenuItem("checkIcon test"));
View in GitHub: Java, Kotlin

解説

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

参考リンク

コメント