Java examples for java.awt:Graphics2D
draw Centered String
import org.apache.log4j.Logger; import java.awt.Dimension; import java.awt.Font; import java.awt.Graphics2D; import java.awt.Point; import java.awt.font.FontRenderContext; import java.awt.font.LineMetrics; import java.util.*; import java.util.regex.Pattern; public class Main{ public static final void drawCenteredString(Graphics2D g, String string, Font font, float centerX, float centerY) { float x = getCenteringStartX(g, string, font, centerX); float y = getCenteringStartY(g, string, font, centerY); drawString(g, string, font, x, y); }//ww w.j a v a2 s. co m public static final float getCenteringStartX(Graphics2D g, String string, Font font, float centerX) { float textWidth = getTextWidth(g, string, font); return centerX - (textWidth / 2); } public static final float getCenteringStartY(Graphics2D g, String string, Font font, float centerY) { float textHeight = getTextHeight(g, string, font); return centerY - (textHeight / 2); } public static final float drawString(Graphics2D g, String string, Font font, float x, float y) { g.setFont(font); y += font.getLineMetrics(string, g.getFontRenderContext()) .getAscent(); g.drawString(string, x, y); return getTextHeight(g, string, font); } public static final float getTextWidth(Graphics2D g, String string, Font font) { return g.getFontMetrics(font).stringWidth(string); } public static final float getTextHeight(Graphics2D g, String string, Font font) { LineMetrics lm = font.getLineMetrics(string, g.getFontRenderContext()); return lm.getHeight(); } }