【发布时间】:2018-06-21 16:48:15
【问题描述】:
我想从一个 Eclipse 插件修改默认编辑器文本字体,我通过以下方式管理 tp:
WorkbenchPlugin.getDefault().getPreferenceStore().put(JFaceResources.TEXT_FONT, "dummy font values");
问题是我要设置的字体(Source Code Pro)没有安装在系统中,也不应该安装。
我从here 下载了字体,但我没有找到从下载的文件中加载字体并将其设置为JFaceResources.TEXT_FONT 首选项条目的值的方法。
org.eclipse.swt.graphics.Device 有一个方法 loadFont(String path) 看起来很有希望,但 Display.getCurrent() 在我的插件中返回 null。
如何从文件中加载字体?
加载后如何在插件中设置字体?
【问题讨论】:
-
Display.getCurrent只能在 UI 线程中工作 - 它在任何其他线程中返回 null, -
@greg-449 后来调试的时候发现,忘了把代码放在
runSync( new Runnable() {});里。我将添加解决方案,也许它会对某人有用
标签: eclipse eclipse-plugin swt