我正在编写一个应用程序,其中包含一个用于GUI字体的.ttf文件。加载字体似乎没有问题,但是当使用deriveFont()
方法编辑大小时,字体似乎失真(例如,不在同一行上,字母中缺少部分,歪斜,..)。
这是为什么呢?有没有办法?
加载字体的代码:
InputStream is = getClass().getResourceAsStream("/fonts/lg.ttf");
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
leagueGothic = Font.createFont(Font.TRUETYPE_FONT, is);
ge.registerFont(leagueGothic);
然后用deriveFont()
更改大小
label.setFont(leagueGothic.deriveFont(Font.PLAIN, scale(50, 'x'));
scale(int, char)
只是一种更改与应用程序窗口大小成比例的大小的方法,它返回一个int
。
在你对deriveFont()
的调用中,该方法scale(int, char)
"它返回一个int
"。它可能应该返回一个float
,正如这里对size
参数所要求的那样。