概要
JCheckBoxMenuItem
のチェックアイコンを変更します。
Screenshot
サンプルコード
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
のチェックアイコンは、setIcon
メソッドで変更できますが、JCheckBoxMenuItem
はチェックアイコンとは別のアイコンが設定されるので、UIManager.put("CheckBoxMenuItem.checkIcon", icon);
を使用しています。
参考リンク