jdk/src/share/classes/sun/font/Decoration.java
changeset 1725 3be564c67d63
parent 2 90ce3da70b43
child 1728 7c281f43cafa
--- a/jdk/src/share/classes/sun/font/Decoration.java	Fri Sep 12 15:01:45 2008 -0700
+++ b/jdk/src/share/classes/sun/font/Decoration.java	Wed Sep 24 11:58:21 2008 -0700
@@ -267,7 +267,9 @@
             CoreMetrics cm = label.getCoreMetrics();
             if (strikethrough) {
                 Stroke savedStroke = g2d.getStroke();
-                g2d.setStroke(new BasicStroke(cm.strikethroughThickness));
+                g2d.setStroke(new BasicStroke(cm.strikethroughThickness,
+                                              BasicStroke.CAP_BUTT,
+                                              BasicStroke.JOIN_MITER));
                 float strikeY = y + cm.strikethroughOffset;
                 g2d.draw(new Line2D.Float(x1, strikeY, x2, strikeY));
                 g2d.setStroke(savedStroke);
@@ -341,7 +343,7 @@
 
             Rectangle2D visBounds = label.handleGetVisualBounds();
 
-            if (swapColors || bgPaint != null
+            if (swapColors || bgPaint != null || strikethrough
                         || stdUnderline != null || imUnderline != null) {
 
                 float minX = 0;
@@ -390,7 +392,9 @@
             }
 
             if (strikethrough) {
-                Stroke stStroke = new BasicStroke(cm.strikethroughThickness);
+                Stroke stStroke = new BasicStroke(cm.strikethroughThickness,
+                                                  BasicStroke.CAP_BUTT,
+                                                  BasicStroke.JOIN_MITER);
                 float shiftY = y + cm.strikethroughOffset;
                 Line2D line = new Line2D.Float(x1, shiftY, x2, shiftY);
                 Area slArea = new Area(stStroke.createStrokedShape(line));