该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
有很多magic number,修改如下
import java.awt.Font;
import java.awt.Rectangle;
import java.awt.Shape;
import java.awt.font.FontRenderContext;
import java.awt.font.GlyphVector;
import java.awt.geom.AffineTransform;
import java.awt.geom.RectangularShape;
public class FontTest
{
public static void main(String[] args)
{
Font font = new Font("黑体", Font.BOLD, 20);
AffineTransform at = new AffineTransform();
FontRenderContext frc = new FontRenderContext(at, true, true);
GlyphVector gv = font.createGlyphVector(frc, "JinCeon");
RectangularShape rs = gv.getVisualBounds();
//rs这个矩形的Y坐标为什么是负数?求解答
Shape shape = gv.getOutline((float)-rs.getX(), (float)-rs.getY());
Rectangle rect = shape.getBounds();