/* * @(#)SynthCheckBoxMenuItemUI.java 1.7 03/12/19 * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package javax.swing.plaf.synth; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.plaf.*; import javax.swing.border.*; import java.io.Serializable; /** * Synth's CheckBoxMenuItemUI. * * @version 1.7 12/19/03 * @author Leif Samuelsson * @author Georges Saab * @author David Karlton * @author Arnaud Weber */ class SynthCheckBoxMenuItemUI extends SynthMenuItemUI { public static ComponentUI createUI(JComponent c) { return new SynthCheckBoxMenuItemUI(); } protected String getPropertyPrefix() { return "CheckBoxMenuItem"; } public void processMouseEvent(JMenuItem item, MouseEvent e, MenuElement path[], MenuSelectionManager manager) { Point p = e.getPoint(); if (p.x >= 0 && p.x < item.getWidth() && p.y >= 0 && p.y < item.getHeight()) { if (e.getID() == MouseEvent.MOUSE_RELEASED) { manager.clearSelectedPath(); item.doClick(0); } else { manager.setSelectedPath(path); } } else if (item.getModel().isArmed()) { int c = path.length - 1; MenuElement newPath[] = new MenuElement[c]; for (int i = 0; i < c; i++) { newPath[i] = path[i]; } manager.setSelectedPath(newPath); } } void paintBackground(SynthContext context, Graphics g, JComponent c) { context.getPainter().paintCheckBoxMenuItemBackground(context, g, 0, 0, c.getWidth(), c.getHeight()); } public void paintBorder(SynthContext context, Graphics g, int x, int y, int w, int h) { context.getPainter().paintCheckBoxMenuItemBorder(context, g, x, y, w, h); } }