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 和 此处 进行了说明。
我有一个带有这段代码的 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 和 此处 进行了说明。