swing 2d,如何计算屏幕上某断文字的宽度和高度 指定一种字体之后,在屏幕上显示某断文字的时候,我只能知道他的结束位置,所以需要计算开始的位置和高度,才能把文字正确的画到上面但是没有找到方法,Font类中的一些api调用没有起作用,请大家帮助!!谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import java.awt.Font;import javax.swing.SwingUtilities;import java.awt.FontMetrics;...Font font = new Font("楷体_GB2312", Font.PLAIN, 14);int width = SwingUtilities.computeStringWidth(new FontMetrics(font), "要计算宽度的文本");高度就是14 private Dimension getBounds(Graphics2D g2 , String s) { Font font = g2.getFont(); return font.createGlyphVector(g2.getFontRenderContext(),s).getVisualBounds().getBounds().getSize();}接分 非常感谢!!太感谢了!但是FontMetrics 的构造方法是protected,改如何解决?谢谢!! String text = "Hello World"int textWidth = g.getFontMetrics().stringWidth(text);int textHeight = g.getFontMetrics().getHeight(); import java.awt.Font;import java.awt.font.FontRenderContext;import java.awt.font.TextLayout;...Font f = new Font("楷体_GB2312", Font.PLAIN, 14);TextLayout tl = new TextLayout("文本", f, new FontRenderContext(null, false, false));int width = (int) tl.getBounds().getWidth();int height = (int) (tl.getAscent()+tl.getDescent()); 写网络程序,协议与协议解析如何设计呢? java,for循环鞋子问题? 请教关于eclipse引入包 怎么使用Jbuilder2007--怎么运行程序 SWT怎样监听下层COMPOSITE JSplitPane怎么控制其中一个PANE大小不改变 求一个模拟100台机器同时访问数据库的程序! 請問如何用java實現將一個文件複製到另外一個地方呢﹖謝謝﹗ 求java jdk1.4版的下载地址(最好是国内的) 如何通过jdbc将文件放到数据库里? 请教一个如何求ArrayList中的VO的某三个属性相同的个数 JInternalFrame的焦点问题,救急啊!!
import javax.swing.SwingUtilities;
import java.awt.FontMetrics;
...Font font = new Font("楷体_GB2312", Font.PLAIN, 14);
int width = SwingUtilities.computeStringWidth(new FontMetrics(font), "要计算宽度的文本");
高度就是14
Font font = g2.getFont();
return font.createGlyphVector(g2.getFontRenderContext(),s).getVisualBounds().getBounds().getSize();
}
接分
但是FontMetrics 的构造方法是protected,改如何解决?
谢谢!!
int textWidth = g.getFontMetrics().stringWidth(text);
int textHeight = g.getFontMetrics().getHeight();
import java.awt.font.FontRenderContext;
import java.awt.font.TextLayout;...Font f = new Font("楷体_GB2312", Font.PLAIN, 14);
TextLayout tl = new TextLayout("文本", f, new FontRenderContext(null, false, false));
int width = (int) tl.getBounds().getWidth();
int height = (int) (tl.getAscent()+tl.getDescent());