/*
* Copyright (C) 2004 NNL Technology AB
* Visit www.infonode.net for information about InfoNode(R)
* products and how to contact NNL Technology AB.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston,
* MA 02111-1307, USA.
*/
// $Id: TabbedUIDefaults.java,v 1.15 2005/08/29 12:18:41 johan Exp $
package net.infonode.tabbedpanel;
import net.infonode.gui.UIManagerUtil;
import net.infonode.util.ColorUtil;
import javax.swing.*;
import java.awt.*;
/**
* Methods for retrieving UI defaults for the current "Look and Feel" from the
* UIManager. The values are adapted to be used with classes in the TabbedPanel package.
*
* @author $Author: johan $
* @version $Revision: 1.15 $
*/
public class TabbedUIDefaults {
private static final int BUTTON_ICON_SIZE = 11;
private TabbedUIDefaults() {
}
/**
* Gets the content area background color
*
* @return a copy of the color
*/
public static Color getContentAreaBackground() {
return UIManagerUtil.getColor("Panel.background", "control", Color.LIGHT_GRAY);
}
/**
* Gets the tab normal state foreground color
*
* @return a copy of the color
*/
public static Color getNormalStateForeground() {
return UIManagerUtil.getColor("TabbedPane.foreground", "controlText", Color.BLACK);
}
/**
* Gets the tab normal state background color
*
* @return a copy of the color
*/
public static Color getNormalStateBackground() {
return UIManagerUtil.getColor("TabbedPane.background", "control", Color.LIGHT_GRAY);
}
/**
* Gets the tab highlighted state foreground color
*
* @return a copy of the color
*/
public static Color getHighlightedStateForeground() {
return getNormalStateForeground();
}
/**
* Gets the tab highlighted state backgound color
*
* @return a copy of the color
*/
public static Color getHighlightedStateBackground() {
return UIManagerUtil.getColor("Panel.background", "control", Color.LIGHT_GRAY);
}
/**
* Gets the tab disabled state foreground color
*
* @return a copy of the color
*/
public static Color getDisabledForeground() {
return UIManagerUtil.getColor("inactiveCaptionText", "controlText", Color.WHITE);
}
/**
* Gets the tab disabled state background color
*
* @return a copy of the color
*/
public static Color getDisabledBackground() {
return ColorUtil.mult(getNormalStateBackground(), 0.9);
}
/**
* Gets the (border) dark shadow color
*
* @return a copy of the color
*/
public static Color getDarkShadow() {
return UIManagerUtil.getColor("TabbedPane.darkShadow", "controlDkShadow", Color.BLACK);
}
/**
* Gets the (border) highlight color
*
* @return a copy of the color
*/
public static Color getHighlight() {
return UIManagerUtil.getColor("TabbedPane.highlight", "controlHighlight", Color.WHITE);
}
/**
* Gets the font
*
* @return a copy of the font
*/
public static Font getFont() {
return UIManagerUtil.getFont("TabbedPane.font");
}
/**
* Gets the icon text gap
*
* @return the icon text gap
*/
public static int getIconTextGap() {
return UIManager.getInt("TabbedPane.textIconGap");
}
/**
* Gets the tab insets
*
* @return a copy of the insets
*/
public static Insets getTabInsets() {
return UIManagerUtil.getInsets("TabbedPane.tabInsets", new Insets(2, 2, 0, 2));
}
/**
* Gets the insets for the content area
*
* @return a copy of the insets
*/
public static Insets getContentAreaInsets() {
return UIManagerUtil.getInsets("TabbedPane.contentBorderInsets", new Insets(2, 2, 2, 2));
}
/**
* Gets the default icon size for buttons
*
* @return icon size in pixels
*/
public static int getButtonIconSize() {
return BUTTON_ICON_SIZE;
}
}
|