/* * Copyright 2005 MH-Software-Entwicklung. All rights reserved. * Use is subject to license terms. */ package com.jtattoo.plaf.mint; import java.awt.*; import javax.swing.*; import javax.swing.plaf.*; import javax.swing.border.*; import com.jtattoo.plaf.*; public class MintComboBoxUI extends BaseComboBoxUI { public static ComponentUI createUI(JComponent c) { return new MintComboBoxUI(); } public JButton createArrowButton() { ArrowButton button = new ArrowButton(); if (JTattooUtilities.isLeftToRight(comboBox)) { Border border = BorderFactory.createMatteBorder(0, 1, 0, 0, MintLookAndFeel.getFrameColor()); button.setBorder(border); } else { Border border = BorderFactory.createMatteBorder(0, 0, 0, 1, MintLookAndFeel.getFrameColor()); button.setBorder(border); } return button; } //------------------------------------------------------------------------------------ static class ArrowButton extends NoFocusButton { public void paint(Graphics g) { Dimension size = getSize(); if (isEnabled()) { if (getModel().isArmed() && getModel().isPressed()) { JTattooUtilities.fillHorGradient(g, AbstractLookAndFeel.getTheme().getPressedColors(), 0, 0, size.width, size.height); } else if (getModel().isRollover()) { JTattooUtilities.fillHorGradient(g, AbstractLookAndFeel.getTheme().getRolloverColors(), 0, 0, size.width, size.height); } else if (JTattooUtilities.isActive(this)) { JTattooUtilities.fillHorGradient(g, AbstractLookAndFeel.getTheme().getDefaultColors(), 0, 0, size.width, size.height); } else { JTattooUtilities.fillHorGradient(g, AbstractLookAndFeel.getTheme().getInActiveColors(), 0, 0, size.width, size.height); } } else { JTattooUtilities.fillHorGradient(g, AbstractLookAndFeel.getTheme().getDisabledColors(), 0, 0, size.width, size.height); } Icon icon = BaseIcons.getComboBoxIcon(); int x = (size.width - icon.getIconWidth()) / 2; int y = (size.height - icon.getIconHeight()) / 2; if (getModel().isPressed() && getModel().isArmed()) { icon.paintIcon(this, g, x + 2, y + 1); } else { icon.paintIcon(this, g, x + 1, y); } paintBorder(g); } } // end class ArrowButton } // end class MintComboBox