我正在测试我公司已建立的 Swing 应用程序的可访问性问题。在我的电脑上启用高对比度模式后,该应用程序的某些部分可以正确渲染(黑底白字),而某些部分则渲染错误(白底黑字)。
正确的部分是本机组件(JButton、JLabel 等)和来自 JIDE 等的第三方组件。不正确的位是内部开发的自定义组件和渲染器,没有考虑高对比度模式。
显然,可以检测何时启用高对比度模式。我该怎么做呢?
结果是,Java 1.4.1 中添加了 win.highContrast.on 属性来实现此目的。
public static void main(String[] args) {
Toolkit toolkit = Toolkit.getDefaultToolkit();
Boolean highContrast = (Boolean)toolkit.getDesktopProperty( "win.highContrast.on" );
}
这仅适用于 Windows(因此win.
字首)。在 Linux 和 Mac 上highContrast
将为空。首先进行平台检查或空检查是最安全的highContrast
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)