代码如下:
public static void getStringBounds()
{
Font font = new Font(Font.SERIF,Font.BOLD,8);
String text = "ABC";
//方法1--只能分别得到字符串的宽度和高度
FontMetrics fm = Toolkit.getDefaultToolkit().getFontMetrics(font);
int width = SwingUtilities.computeStringWidth(fm, text);
int height = fm.getHeight();
System.out.println("方法1 width:" + width + " height:" + height);
//方法2--能得到字符串的边界
FontRenderContext frc = new FontRenderContext(new AffineTransform(),true,true);
Rectangle rec = font.getStringBounds(text, frc).getBounds();
System.out.println("方法2 width:" + rec.getWidth() + " height:" + rec.getHeight());
}