Hi,
the TitledBorder did not draw the border title at the correct offset. This
is fixed.
2005-09-19 Roman Kennke <[EMAIL PROTECTED]>
* javax/swing/border/TitledBorder.java
(paintBorder): Correctly set the Y offset for the border title.
(getMeasurements): Determine the correct Y offset for the border
title.
/Roman
Index: javax/swing/border/TitledBorder.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/border/TitledBorder.java,v
retrieving revision 1.9
diff -u -r1.9 TitledBorder.java
--- javax/swing/border/TitledBorder.java 21 Jul 2005 16:11:10 -0000 1.9
+++ javax/swing/border/TitledBorder.java 19 Sep 2005 09:49:50 -0000
@@ -46,6 +46,9 @@
import java.awt.Graphics;
import java.awt.Insets;
import java.awt.Shape;
+import java.awt.font.FontRenderContext;
+import java.awt.font.LineMetrics;
+import java.awt.geom.AffineTransform;
import javax.swing.UIManager;
@@ -607,7 +610,8 @@
case TOP:
case DEFAULT_POSITION:
default:
- textY = y + mes.borderSpacing.top + mes.borderInsets.top - mes.textAscent;
+ textY = y + mes.borderSpacing.top + mes.borderInsets.top - mes.textAscent
+ + mes.lineHeight;
break;
case BELOW_TOP:
@@ -1000,6 +1004,16 @@
m.textAscent = fmet.getAscent();
m.textDescent = fmet.getDescent();
+
+ FontRenderContext frc = new FontRenderContext(new AffineTransform(), false,
+ false);
+ LineMetrics lmet = m.font.getLineMetrics(m.trimmedText, 0,
+ m.trimmedText.length(), frc);
+ m.lineHeight = (int) lmet.getStrikethroughOffset();
+ // Fallback in case that LineMetrics is not available/working.
+ if (m.lineHeight == 0)
+ m.lineHeight = (int) (0.3333 * (double) m.textAscent);
+
if (m.trimmedText != null)
m.textWidth = fmet.stringWidth(m.trimmedText) + 3;
@@ -1072,6 +1086,11 @@
*/
int textDescent;
+ /**
+ * The number of pixels between the base line and the height where
+ * a strike-through would be drawn.
+ */
+ int lineHeight;
/**
* The title text after removing leading and trailing white space_______________________________________________
Classpath-patches mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/classpath-patches