Java/swing 字体大小调整不适用于跨平台

Java/swing font resize not working across platforms

我有一个带有这段代码的 swing 应用程序,它试图调整组件的字体大小:

Font f = new Font(Font.SERIF,Font.PLAIN,16);
component.setFont(f);

程序加载 14 号字体,我包括一个组件,它允许用户将组件的大小调整为 16 号字体,如上所示。当我 运行 在计算机上编译它时,它是在 (Debian) 上编译的,它按预期工作,但我在 Mac 和 Windows 计算机上测试了它,但字体大小调整功能没有根本不起作用。但是,在所有平台上,字体都是衬线字体。知道为什么会这样吗?

组件在您的平台上的默认 UI 委托可能会抢占您的设置。或者,考虑以下之一:

  • 在现有字体上使用deriveFont(),插图here

    component.getFont().deriveFont(16f)
    
  • 使用可用的sizeVariant,图文并茂here

  • 使用自定义 UI 委托,在 here 此处 进行了说明。