MetalButtonUIpublic class MetalButtonUI extends BasicButtonUI MetalButtonUI 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 MetalButtonUI | metalButtonUI | protected Color | focusColor | protected Color | selectColor | protected Color | disabledTextColor |
Methods Summary |
---|
protected javax.swing.plaf.basic.BasicButtonListener | createButtonListener(javax.swing.AbstractButton b)
return super.createButtonListener(b);
| public static javax.swing.plaf.ComponentUI | createUI(javax.swing.JComponent c)
// ********************************
// Create PLAF
// ********************************
return metalButtonUI;
| protected java.awt.Color | getDisabledTextColor()
disabledTextColor = UIManager.getColor(getPropertyPrefix() +
"disabledText");
return disabledTextColor;
| protected java.awt.Color | getFocusColor()
focusColor = UIManager.getColor(getPropertyPrefix() + "focus");
return focusColor;
| protected java.awt.Color | getSelectColor()
selectColor = UIManager.getColor(getPropertyPrefix() + "select");
return selectColor;
| public void | installDefaults(javax.swing.AbstractButton b)
super.installDefaults(b);
| protected void | paintButtonPressed(java.awt.Graphics g, javax.swing.AbstractButton b)
if ( b.isContentAreaFilled() ) {
Dimension size = b.getSize();
g.setColor(getSelectColor());
g.fillRect(0, 0, size.width, size.height);
}
| 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 | 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(c, g);
int mnemIndex = b.getDisplayedMnemonicIndex();
/* Draw the Text */
if(model.isEnabled()) {
/*** paint the text normally */
g.setColor(b.getForeground());
}
else {
/*** paint the text disabled ***/
g.setColor(getDisabledTextColor());
}
SwingUtilities2.drawStringUnderlineCharAt(c, g,text,mnemIndex,
textRect.x, textRect.y + fm.getAscent());
| public void | uninstallDefaults(javax.swing.AbstractButton b)
super.uninstallDefaults(b);
| 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, "Button.gradient", 0, 0, c.getWidth(),
c.getHeight(), true)) {
paint(g, c);
return;
}
}
else if (model.isRollover() && MetalUtils.drawGradient(
c, g, "Button.gradient", 0, 0, c.getWidth(),
c.getHeight(), true)) {
paint(g, c);
return;
}
}
super.update(g, c);
|
|