APe*_*son 12 java string fonts awt fontmetrics
有没有办法在给定某个java.awt.Font
对象的情况下计算字符串的长度(不使用任何GUI组件)?
Bri*_*ian 10
不使用任何GUI组件?
这取决于你在这里的意思.我假设你的意思是你想要在没有收到的情况下这样做HeadlessException
.
最好的方法是用BufferedImage
.AFAIK,这不会抛出HeadlessException
:
Font font = ... ;
BufferedImage img = new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB);
FontMetrics fm = img.getGraphics().getFontMetrics(font);
int width = fm.stringWidth("Your string");
Run Code Online (Sandbox Code Playgroud)
除了使用这样的东西,我认为你不能.您需要一个图形上下文才能创建FontMetrics
并提供字体大小信息.