summaryrefslogtreecommitdiff
path: root/libjava/classpath/javax/swing/plaf/metal/MetalButtonUI.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/javax/swing/plaf/metal/MetalButtonUI.java')
-rw-r--r--libjava/classpath/javax/swing/plaf/metal/MetalButtonUI.java13
1 files changed, 9 insertions, 4 deletions
diff --git a/libjava/classpath/javax/swing/plaf/metal/MetalButtonUI.java b/libjava/classpath/javax/swing/plaf/metal/MetalButtonUI.java
index 10e51117329..83cd3366215 100644
--- a/libjava/classpath/javax/swing/plaf/metal/MetalButtonUI.java
+++ b/libjava/classpath/javax/swing/plaf/metal/MetalButtonUI.java
@@ -45,6 +45,7 @@ import java.awt.Graphics;
import java.awt.Rectangle;
import javax.swing.AbstractButton;
+import javax.swing.ButtonModel;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.SwingConstants;
@@ -160,8 +161,8 @@ public class MetalButtonUI
}
/**
- * Paints the background of the button to indicate that it is in the "pressed"
- * state.
+ * Paints the background of the button to indicate that it is in the
+ * "pressed" state.
*
* @param g the graphics context.
* @param b the button.
@@ -234,8 +235,12 @@ public class MetalButtonUI
public void update(Graphics g, JComponent c)
{
AbstractButton b = (AbstractButton) c;
- if (b.isOpaque() && UIManager.get(getPropertyPrefix() + "gradient") != null
- && !b.getModel().isPressed() && b.isEnabled())
+ ButtonModel m = b.getModel();
+ if (b.isContentAreaFilled()
+ && (UIManager.get(getPropertyPrefix() + "gradient") != null)
+ && ! m.isPressed() && ! m.isArmed()
+ && b.isEnabled()
+ && (b.getBackground() instanceof UIResource))
{
MetalUtils.paintGradient(g, 0, 0, c.getWidth(), c.getHeight(),
SwingConstants.VERTICAL,