Here you can find the source of paintMenuItemBackground(Graphics g, Component c)
Parameter | Description |
---|---|
g | The graphics context. |
c | The menu item. |
public static void paintMenuItemBackground(Graphics g, Component c)
//package com.java2s; /* ==================================================================== * /*ww w . ja va 2 s .c om*/ * Office Look and Feels License * http://sourceforge.net/projects/officelnfs * * Copyright (c) 2003-2005 Robert Futrell. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The names "Office Look And Feels" and "OfficeLnFs" must not * be used to endorse or promote products derived from this software * without prior written permission. For written permission, please * contact robert_futrell@users.sourceforge.net. * * 4. Products derived from this software may not be called "OfficeLnFs" * nor may "OfficeLnFs" appear in their names without prior written * permission. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ==================================================================== */ import java.awt.*; import javax.swing.UIManager; public class Main { /** * Size of the specially-colored area on the left-hand side of menu items. */ public static final int LEFT_EDGE_WIDTH = 24; /** * Paints the background for a menu item (or a menu or separator in a * menu). * * @param g The graphics context. * @param c The menu item. */ public static void paintMenuItemBackground(Graphics g, Component c) { Graphics2D g2d = (Graphics2D) g; Paint menuItemBGPaint = (Paint) UIManager.get("OfficeLnF.MenuItemIconAreaPaint"); g2d.setPaint(menuItemBGPaint); int width = c.getWidth(); int mainWidth = width - LEFT_EDGE_WIDTH; int height = c.getHeight(); if (c.getComponentOrientation().isLeftToRight()) { g.fillRect(0, 0, LEFT_EDGE_WIDTH, height); g.setColor(c.getBackground()); g.fillRect(LEFT_EDGE_WIDTH, 0, mainWidth, height); } else { // Hack - translate so cached GradientPaints paint correctly. g2d.translate(width, height); g2d.rotate(Math.PI); g2d.fillRect(0, 0, LEFT_EDGE_WIDTH, height); g2d.rotate(Math.PI);//-Math.PI); g2d.translate(-width, -height); g2d.setColor(c.getBackground()); g2d.fillRect(0, 0, mainWidth, height); } } }