MetalToggleButtonUIpublic class MetalToggleButtonUI extends BasicToggleButtonUI MetalToggleButton implementation
Warning:
Serialized objects of this class will not be compatible with
future Swing releases. The current serialization support is
appropriate for short term storage or RMI between applications running
the same version of Swing. As of 1.4, support for long term storage
of all JavaBeansTM
has been added to the java.beans package.
Please see {@link java.beans.XMLEncoder}. |
Fields Summary |
---|
private static final MetalToggleButtonUI | metalToggleButtonUI | protected Color | focusColor | protected Color | selectColor | protected Color | disabledTextColor | private boolean | defaults_initialized |
Methods Summary |
---|
public static javax.swing.plaf.ComponentUI | createUI(javax.swing.JComponent b)
// ********************************
// Create PLAF
// ********************************
return metalToggleButtonUI;
| protected java.awt.Color | getDisabledTextColor()
return disabledTextColor;
| protected java.awt.Color | getFocusColor()
return focusColor;
| protected java.awt.Color | getSelectColor()
return selectColor;
| public void | installDefaults(javax.swing.AbstractButton b)
super.installDefaults(b);
if(!defaults_initialized) {
focusColor = UIManager.getColor(getPropertyPrefix() + "focus");
selectColor = UIManager.getColor(getPropertyPrefix() + "select");
disabledTextColor = UIManager.getColor(getPropertyPrefix() + "disabledText");
defaults_initialized = true;
}
| protected void | paintButtonPressed(java.awt.Graphics g, javax.swing.AbstractButton b)
if ( b.isContentAreaFilled() ) {
g.setColor(getSelectColor());
g.fillRect(0, 0, b.getWidth(), b.getHeight());
}
| protected void | paintFocus(java.awt.Graphics g, javax.swing.AbstractButton b, java.awt.Rectangle viewRect, java.awt.Rectangle textRect, java.awt.Rectangle iconRect)
Rectangle focusRect = new Rectangle();
String text = b.getText();
boolean isIcon = b.getIcon() != null;
// If there is text
if ( text != null && !text.equals( "" ) ) {
if ( !isIcon ) {
focusRect.setBounds( textRect );
}
else {
focusRect.setBounds( iconRect.union( textRect ) );
}
}
// If there is an icon and no text
else if ( isIcon ) {
focusRect.setBounds( iconRect );
}
g.setColor(getFocusColor());
g.drawRect((focusRect.x-1), (focusRect.y-1),
focusRect.width+1, focusRect.height+1);
| protected void | paintIcon(java.awt.Graphics g, javax.swing.AbstractButton b, java.awt.Rectangle iconRect)Paints the appropriate icon of the button b in the
space iconRect .
super.paintIcon(g, b, iconRect);
| protected void | paintText(java.awt.Graphics g, javax.swing.JComponent c, java.awt.Rectangle textRect, java.lang.String text)
AbstractButton b = (AbstractButton) c;
ButtonModel model = b.getModel();
FontMetrics fm = SwingUtilities2.getFontMetrics(b, g);
int mnemIndex = b.getDisplayedMnemonicIndex();
/* Draw the Text */
if(model.isEnabled()) {
/*** paint the text normally */
g.setColor(b.getForeground());
}
else {
/*** paint the text disabled ***/
if (model.isSelected()) {
g.setColor(c.getBackground());
} else {
g.setColor(getDisabledTextColor());
}
}
SwingUtilities2.drawStringUnderlineCharAt(c, g, text, mnemIndex,
textRect.x, textRect.y + fm.getAscent());
| protected void | uninstallDefaults(javax.swing.AbstractButton b)
super.uninstallDefaults(b);
defaults_initialized = false;
| public void | update(java.awt.Graphics g, javax.swing.JComponent c)If necessary paints the background of the component, then invokes
paint .
AbstractButton button = (AbstractButton)c;
if ((c.getBackground() instanceof UIResource) &&
button.isContentAreaFilled() && c.isEnabled()) {
ButtonModel model = button.getModel();
if (!MetalUtils.isToolBarButton(c)) {
if (!model.isArmed() && !model.isPressed() &&
MetalUtils.drawGradient(
c, g, "ToggleButton.gradient", 0, 0, c.getWidth(),
c.getHeight(), true)) {
paint(g, c);
return;
}
}
else if ((model.isRollover() || model.isSelected()) &&
MetalUtils.drawGradient(c, g, "ToggleButton.gradient",
0, 0, c.getWidth(), c.getHeight(), true)) {
paint(g, c);
return;
}
}
super.update(g, c);
|
|