当前位置: 首页 > 面试题库 >

SWT-与OS无关的方法来获取等宽字体

聂昱
2023-03-14
问题内容

SWT中是否有一种方法可以简单地获取在各种操作系统上均可使用的等宽字体?

例如。这适用于Linux,但不适用于Windows:

Font mono = new Font(parent.getDisplay(), "Mono", 10, SWT.NONE);

还是我需要一种方法来尝试加载各种字体(Consolas,Terminal,Monaco,Mono),直到不为空?另外,我可以在启动时在属性文件中指定它。

我尝试从Display取得系统字体,但不是等宽字体。


问题答案:

根据国际化支持相关API
的JDK文档中有关字体配置文件的部分,
逻辑字体
的概念用于定义某些平台无关的字体​​,这些字体映射到默认字体配置文件中的物理字体:


Java平台定义了每个实现都必须支持的五个逻辑字体名称:Serif,SansSerif,Monospaced,Dialog和DialogInput。这些逻辑字体名称以实现相关的方式映射到物理字体。

所以在你的情况下,我会尽力

Font mono = new Font(parent.getDisplay(), "Monospaced", 10, SWT.NONE);

获取当前代码运行平台的物理等宽字体的句柄。

编辑 :似乎SWT对逻辑字体一无所知(eclipse.org上的Bug
48055对此进行了详细描述)。在此错误报告中,提出了一种变通方法,其中可以从AWT字体中检索物理字体的名称…



 类似资料:
  • 本文向大家介绍js获取图片宽高的方法,包括了js获取图片宽高的方法的使用技巧和注意事项,需要的朋友参考一下 本文分享多种js获取图片宽高的方法,并且通过实例进行分析,希望大家从中有所收获。 一、简陋的获取图片方式  结果如下: 宽高都是0的这个结果很正常,因为图片的相关数据都没有被加载前它的宽高默认就是0 于是可以这么优化! 二、onload后在打印  结果如下 通过onload就能获取到图片的宽

  • 本文向大家介绍php自动获取关键字的方法,包括了php自动获取关键字的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php自动获取关键字的方法。分享给大家供大家参考。 具体实现方法如下: 希望本文所述对大家的php程序设计有所帮助。

  • 本文向大家介绍flex4获取当前窗口的长度与宽度的方法,包括了flex4获取当前窗口的长度与宽度的方法的使用技巧和注意事项,需要的朋友参考一下 之前为了实现flex网页自适应屏幕大小 看到网上的答案是 Application.application.width Application.application.height 但是这是适用于<mx:Applicationg/>的,在flex4后,建议适

  • 本文向大家介绍写一个方法获取div的宽高相关面试题,主要包含被问及写一个方法获取div的宽高时的应答技巧和注意事项,需要的朋友参考一下

  • 本文向大家介绍javascript获取网页宽高方法汇总,包括了javascript获取网页宽高方法汇总的使用技巧和注意事项,需要的朋友参考一下 document.body.clientWidth - 网页可见区域宽 document.body.clientHeight - 网页可见区域高 document.body.offsetWidth - 网页可见区域宽,包括边线和滚动条的宽 document

  • 问题内容: 我无法在Mac OS(10.10.1-Yosemite)上启动用于Android开发的Android Studio。 问题答案: 在finder中打开 Android Studio 的应用程序包,然后编辑 Info.plist 文件。更改密钥JVMversion。输入1.6+,而不是1.6 *。那对我有用! 干杯! 编辑: 尽管在旧版本的Android Studio中这是必需的,但不再