WindowsToggleButtonUIpublic class WindowsToggleButtonUI extends BasicToggleButtonUI A Windows toggle button.
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. A future release of Swing will provide support for
long term persistence. |
Fields Summary |
---|
protected static int | dashedRectGapX | protected static int | dashedRectGapY | protected static int | dashedRectGapWidth | protected static int | dashedRectGapHeight | protected Color | focusColor | private static final WindowsToggleButtonUI | windowsToggleButtonUI | private boolean | defaults_initialized | private transient Color | cachedSelectedColor | private transient Color | cachedBackgroundColor | private transient Color | cachedHighlightColor |
Methods Summary |
---|
public static javax.swing.plaf.ComponentUI | createUI(javax.swing.JComponent b)
return windowsToggleButtonUI;
| protected java.awt.Color | getFocusColor()
return focusColor;
| public java.awt.Dimension | getPreferredSize(javax.swing.JComponent c)
Dimension d = super.getPreferredSize(c);
/* Ensure that the width and height of the button is odd,
* to allow for the focus line if focus is painted
*/
AbstractButton b = (AbstractButton)c;
if (d != null && b.isFocusPainted()) {
if(d.width % 2 == 0) { d.width += 1; }
if(d.height % 2 == 0) { d.height += 1; }
}
return d;
| protected void | installDefaults(javax.swing.AbstractButton b)
super.installDefaults(b);
if(!defaults_initialized) {
String pp = getPropertyPrefix();
dashedRectGapX = ((Integer)UIManager.get("Button.dashedRectGapX")).intValue();
dashedRectGapY = ((Integer)UIManager.get("Button.dashedRectGapY")).intValue();
dashedRectGapWidth = ((Integer)UIManager.get("Button.dashedRectGapWidth")).intValue();
dashedRectGapHeight = ((Integer)UIManager.get("Button.dashedRectGapHeight")).intValue();
focusColor = UIManager.getColor(pp + "focus");
defaults_initialized = true;
}
XPStyle xp = XPStyle.getXP();
if (xp != null) {
b.setBorder(xp.getBorder(b, WindowsButtonUI.getXPButtonType(b)));
LookAndFeel.installProperty(b, "opaque", Boolean.FALSE);
LookAndFeel.installProperty(b, "rolloverEnabled", Boolean.TRUE);
}
| public void | paint(java.awt.Graphics g, javax.swing.JComponent c)
if (XPStyle.getXP() != null) {
WindowsButtonUI.paintXPButtonBackground(g, c);
}
super.paint(g, c);
| protected void | paintButtonPressed(java.awt.Graphics g, javax.swing.AbstractButton b)
if (XPStyle.getXP() == null && b.isContentAreaFilled()) {
Color oldColor = g.getColor();
Color c1 = b.getBackground();
Color c2 = UIManager.getColor("ToggleButton.highlight");
if (c1 != cachedBackgroundColor || c2 != cachedHighlightColor) {
int r1 = c1.getRed(), r2 = c2.getRed();
int g1 = c1.getGreen(), g2 = c2.getGreen();
int b1 = c1.getBlue(), b2 = c2.getBlue();
cachedSelectedColor = new Color(
Math.min(r1, r2) + Math.abs(r1 - r2) / 2,
Math.min(g1, g2) + Math.abs(g1 - g2) / 2,
Math.min(b1, b2) + Math.abs(b1 - b2) / 2
);
cachedBackgroundColor = c1;
cachedHighlightColor = c2;
}
g.setColor(cachedSelectedColor);
g.fillRect(0, 0, b.getWidth(), b.getHeight());
g.setColor(oldColor);
}
| protected void | paintFocus(java.awt.Graphics g, javax.swing.AbstractButton b, java.awt.Rectangle viewRect, java.awt.Rectangle textRect, java.awt.Rectangle iconRect)
g.setColor(getFocusColor());
BasicGraphicsUtils.drawDashedRect(g, dashedRectGapX, dashedRectGapY,
b.getWidth() - dashedRectGapWidth,
b.getHeight() - dashedRectGapHeight);
| protected void | paintText(java.awt.Graphics g, javax.swing.AbstractButton b, java.awt.Rectangle textRect, java.lang.String text)Overridden method to render the text without the mnemonic
WindowsGraphicsUtils.paintText(g, b, textRect, text, getTextShiftOffset());
| protected void | uninstallDefaults(javax.swing.AbstractButton b)
super.uninstallDefaults(b);
defaults_initialized = false;
|
|