Index: javax/swing/plaf/metal/MetalBorders.java =================================================================== RCS file: /cvsroot/classpath/classpath/javax/swing/plaf/metal/MetalBorders.java,v retrieving revision 1.16 diff -u -r1.16 MetalBorders.java --- javax/swing/plaf/metal/MetalBorders.java 16 Sep 2005 08:58:01 -0000 1.16 +++ javax/swing/plaf/metal/MetalBorders.java 20 Sep 2005 09:25:58 -0000 @@ -44,6 +44,7 @@ import java.awt.Insets; import javax.swing.AbstractButton; +import javax.swing.BorderFactory; import javax.swing.ButtonModel; import javax.swing.JInternalFrame; import javax.swing.JMenu; @@ -84,6 +85,11 @@ private static Border textFieldBorder; /** + * The shared instance for getTextBorder(). + */ + private static Border textBorder; + + /** * A MarginBorder that gets shared by multiple components. * Created on demand by the private helper function address@hidden * #getMarginBorder()}. @@ -166,11 +172,11 @@ } } else - { - // draw disabled border - g.setColor(MetalLookAndFeel.getControlDisabled()); - g.drawRect(x, y, w - 2, h - 2); - } + { + // draw disabled border + g.setColor(MetalLookAndFeel.getInactiveControlTextColor()); + g.drawRect(x, y, w - 2, h - 2); + } } /** @@ -1147,8 +1153,32 @@ public static Border getTextFieldBorder() { if (textFieldBorder == null) - textFieldBorder = new TextFieldBorder(); + { + Border inner = getMarginBorder(); + Border outer = new TextFieldBorder(); + textFieldBorder = BorderFactory.createCompoundBorder(outer, inner); + } return textFieldBorder; + } + + /** + * Returns the border that is used for text components (except text fields, + * which use address@hidden #getTextFieldBorder}. + * + * @return the border that is used for text components + * + * @since 1.3 + */ + public static Border getTextBorder() + { + if (textBorder == null) + { + Border inner = getMarginBorder(); + Border outer = new Flush3DBorder(); + textBorder = + new BorderUIResource.CompoundBorderUIResource(outer, inner); + } + return textBorder; } /**