diff --git a/diylc/diylc-core/src/org/diylc/components/AbstractComponent.java b/diylc/diylc-core/src/org/diylc/components/AbstractComponent.java index 08fa9467..a370826b 100644 --- a/diylc/diylc-core/src/org/diylc/components/AbstractComponent.java +++ b/diylc/diylc-core/src/org/diylc/components/AbstractComponent.java @@ -148,7 +148,16 @@ public abstract class AbstractComponent implements IDIYComponent { } protected void drawCenteredText(Graphics2D g2d, String text, int x, int y, HorizontalAlignment horizontalAlignment, - VerticalAlignment verticalAlignment) { + VerticalAlignment verticalAlignment) { + String[] parts = text.split("\n"); + if (parts.length > 1) { + FontMetrics fontMetrics = g2d.getFontMetrics(); + Rectangle stringBounds = fontMetrics.getStringBounds(parts[0], g2d).getBounds(); + for (int i = 0; i < parts.length; i++) + drawCenteredText(g2d, parts[i], x, (int)(y - stringBounds.height * (parts.length - 1) / 2d + i * stringBounds.height), horizontalAlignment, verticalAlignment); + return; + } + FontMetrics fontMetrics = g2d.getFontMetrics(); Rectangle stringBounds = fontMetrics.getStringBounds(text, g2d).getBounds();