/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Tiny Look and Feel * * * * (C) Copyright 2003 - 2007 Hans Bickel * * * * For licensing information and credits, please refer to the * * comment in file de.muntjak.tinylookandfeel.TinyLookAndFeel * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ package de.muntjak.tinylookandfeel; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Rectangle; import javax.swing.JComponent; import javax.swing.plaf.ComponentUI; import javax.swing.plaf.metal.MetalSeparatorUI; /** * TinyPopupMenuSeparatorUI * * @version 1.0 * @author Hans Bickel */ public class TinyPopupMenuSeparatorUI extends MetalSeparatorUI { public static ComponentUI createUI( JComponent c ) { return new TinyPopupMenuSeparatorUI(); } public void paint(Graphics g, JComponent c ) { switch(Theme.derivedStyle[Theme.style]) { case Theme.TINY_STYLE: drawTinySeparator(g, c.getSize()); break; case Theme.W99_STYLE: drawWinSeparator(g, c.getSize()); break; case Theme.YQ_STYLE: drawXpSeparator(g, c.getSize()); break; } } private void drawTinySeparator(Graphics g, Dimension s) { } private void drawWinSeparator(Graphics g, Dimension s) { g.setColor(Theme.menuPopupColor[Theme.style].getColor()); g.fillRect(0, 0, s.width, s.height); g.setColor(Theme.menuSepDarkColor[Theme.style].getColor()); g.drawLine(2, 1, s.width - 3, 1); g.setColor(Theme.menuSepLightColor[Theme.style].getColor()); g.drawLine(2, 2, s.width - 3, 2); } private void drawXpSeparator(Graphics g, Dimension s) { g.setColor(Theme.menuPopupColor[Theme.style].getColor()); g.fillRect(0, 0, s.width, s.height); g.setColor(Theme.menuSepDarkColor[Theme.style].getColor()); g.drawLine(2, 1, s.width - 3, 1); } public Dimension getPreferredSize( JComponent c ) { return new Dimension(0, Theme.menuSeparatorHeight[Theme.derivedStyle[Theme.style]]); } }