diff options
Diffstat (limited to 'libjava/javax/swing/plaf/basic/BasicButtonUI.java')
| -rw-r--r-- | libjava/javax/swing/plaf/basic/BasicButtonUI.java | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/libjava/javax/swing/plaf/basic/BasicButtonUI.java b/libjava/javax/swing/plaf/basic/BasicButtonUI.java index 5ebde8f57fb..b766d387db9 100644 --- a/libjava/javax/swing/plaf/basic/BasicButtonUI.java +++ b/libjava/javax/swing/plaf/basic/BasicButtonUI.java @@ -304,11 +304,7 @@ public class BasicButtonUI extends ButtonUI Icon i = currentIcon(b); if (i != null) - { - int x = iconRect.x; - int y = iconRect.y; - i.paintIcon(c, g, x, y); - } + i.paintIcon(c, g, iconRect.x, iconRect.y); } /** @@ -340,7 +336,7 @@ public class BasicButtonUI extends ButtonUI */ protected void paintButtonNormal(Graphics g, Rectangle area, JComponent b) { - if (((AbstractButton)b).isContentAreaFilled()) + if (((AbstractButton)b).isContentAreaFilled() && b.isOpaque()) { g.setColor(b.getBackground()); g.fillRect(area.x, area.y, area.width, area.height); @@ -362,9 +358,18 @@ public class BasicButtonUI extends ButtonUI Font f = c.getFont(); g.setFont(f); FontMetrics fm = g.getFontMetrics(f); - g.setColor(c.getForeground()); - BasicGraphicsUtils.drawString(g, text, 0, - textRect.x, - textRect.y + fm.getAscent()); + + if (c.isEnabled()) + { + g.setColor(c.getForeground()); + g.drawString(text, textRect.x, textRect.y + fm.getAscent()); + } + else + { + g.setColor(c.getBackground().brighter()); + g.drawString(text, textRect.x, textRect.y + fm.getAscent()); + g.setColor(c.getBackground().darker()); + g.drawString(text, textRect.x + 1, textRect.y + fm.getAscent() + 1); + } } } |

