我想在SWT中加载字体。我的ttf文件位于我的Maven项目的resources/fonts
目录中。我尝试像这样加载它:
URL fontURL = MyClass.class.getResource("/fonts/myfont.ttf");
boolean fontLoaded = display.loadFont(fontURL.getPath());
但是结果布尔值始终为假。我试图提示fontURL.getPath()
的结果,它类似于/C:/Users/myuser/Documents/...
。如果我将此结果复制到字符串中,请删除第一个/并尝试使用它调用display.loadFont()
,它可以工作。
另一个奇怪的事情是,这不是我以此方式加载的唯一资源。例如,这就是我加载窗口图标的方式:
URL iconURL = MyClass.class.getResource("/images/myicon.png");
Image icon = new Image(display, iconURL.getPath());
shell.setImage(icon);
而且效果很好。唯一构成文件的问题是字体文件。有人知道为什么吗?