Here you can find the source of drawCenteredString(String s, Graphics g, int x, int y)
String
, centered at (x,y)
, using the given graphics context.
Parameter | Description |
---|---|
s | the string |
g | the graphics context to draw in |
x | the x coordinate for center of the <code>String</code> |
y | the y coordinate for center of the <code>String</code> |
public static void drawCenteredString(String s, Graphics g, int x, int y)
//package com.java2s; /* Copyright (C) 2015, University of Kansas Center for Research * /*from www . ja v a 2s . c o m*/ * Specify Software Project, specify@ku.edu, Biodiversity Institute, * 1345 Jayhawk Boulevard, Lawrence, Kansas, 66045, USA * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import java.awt.FontMetrics; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; public class Main { /** <code>RenderingHints</code> used to turn on anti-aliased drawing. */ protected static RenderingHints hints; /** * Draws the given <code>String</code>, centered at <code>(x,y)</code>, using * the given graphics context. * * @param s the string * @param g the graphics context to draw in * @param x the x coordinate for center of the <code>String</code> * @param y the y coordinate for center of the <code>String</code> */ public static void drawCenteredString(String s, Graphics g, int x, int y) { ((Graphics2D) g).addRenderingHints(hints); FontMetrics fm = g.getFontMetrics(); int ht = fm.getAscent() + fm.getDescent(); int width = fm.stringWidth(s); g.drawString(s, x - width / 2, y + (fm.getAscent() - ht / 2)); } }