将字体高度设置为float,而不是整数

时间:2017-08-03 16:56:46

标签: java swt

有没有办法将字体大小指定为float / double而不是integer。我正在创建我的字体:

Font font = new Font(shell.getDisplay(), "CormorantGaramond",14, SWT.NULL);

其中14是以磅为单位的字体大小。但构造函数只接受一个整数,当字体大小以点而不是像素指定时,我发现它很奇怪。有没有办法将字体大小指定为非整数值。 (这是一个ttf字体,如果重要的话)。

2 个答案:

答案 0 :(得分:2)

目前似乎是(Eclipse Platform Mars 4.5)没有与平台无关的方法来使用float类型的值设置字体高度。

参考:IMapEntry

答案 1 :(得分:1)

有一种方法可以在float中设置字体大小。 Java在 ava.awt.Font 中提供内置函数" public Font deriveFont(float size)" 。这个 deriveFont 会根据您提供的值创建一个新的Font实例,因此您需要维护对它的引用

然后你必须使用 SWTUtils 类将 awt 转换为 swt 这是SWTUtils.java

下载此文件并将其添加到您的项目中。多数民众赞成。