如何不使用图形来获取FontMetrics?我想在构造函数中获得FontMetrics,现在我这样做:
BufferedImage bi = new BufferedImage(5, 5, BufferedImage.TYPE_INT_RGB);
FontMetrics fm = bi.getGraphics().getFontMetrics(font);
int width = fm.stringWidth(pattern);
int height = fm.getHeight();发布于 2010-05-16 20:02:45
嗯..。您需要图形才能获得FontMetrics,这是非常合理的。字体高度、宽度等可以在不同的显示器上有所不同。
如果你有一些组件,你可以用它来获取FontMetrics:
component.getFontMetrics(font);发布于 2013-08-08 17:56:27
不,您不一定需要获取/使用图形对象:
Font font = new Font("Helvetica",Font.PLAIN,12);
Canvas c = new Canvas();
FontMetrics fm = c.getFontMetrics(font);如果你现在调用c.getGraphics(),它将返回null。另一方面,canvas解决方案也可以在headless mode中工作。
https://stackoverflow.com/questions/2843601
复制相似问题