要准确的计算文字在画布上占据的空间,可以利用org.eclipse.swt.graphics.GC的stringExtent()方法实现,见下面的代码:
GC gc = new GC(Display.getDefault());
gc.setFont(yourFont);//这一步不可缺少,因为有些字体里各字符的宽度是不同的
Point size = gc.stringExtent(text);//得到文字占据的尺寸
label.setPreferredSize(size.x + 16, size.y + 10);//让标签的尺寸比文字稍大
gc.dispose();
运行时的效果:
搬家前链接:https://www.cnblogs.com/bjzhanghao/archive/2007/04/14/712794.html
欢迎转载
请保留原始链接:https://bjzhanghao.com/p/2721
请保留原始链接:https://bjzhanghao.com/p/2721