1

我有一个与 JTree swing 组件相关的问题,我想在 Windows 高对比度模式下使用 JTree,但它从不根据 Windows 高对比度主题显示树节点。


普通模式下的Jtree视图
替代文字


高对比度模式下的Jtree视图
替代文字


正常模式下的 Eclipse Package Explorer 视图
替代文字


高对比度模式下的 Eclipse Package Explorer 视图
替代文字

我想让我的应用程序 jtree 视图与 eclipse 的“高对比度”视图相同。

有人可以指导吗?我正在尝试编写如下逻辑:

// 在应用程序加载时调用它 - 或通过某种监听器

Toolkit toolkit = Toolkit.getDefaultToolkit(); 
Boolean highContrast = (Boolean)toolkit.getDesktopProperty( "win.highContrast.on" ); 
boolean flag=highContrast.booleanValue();
    if(flag){
    // do stuff for high contrast
    }
    else{
    // show in normal mode
    }

谢谢你的帮助!!

4

2 回答 2

2

根据这个问题是 Swing L&F 实现中的这个错误。可以通过修改 Windows L&F 并将其作为自己的来接受这一点,或者使用支持此的不同 L&F。

于 2010-10-22T14:08:51.140 回答
1

我在工具包调用pscode.org/prop/form.html的帮助下实现了这一点- 获取更改的字体和字体大小详细信息并应用于 jtree

于 2010-11-17T06:26:30.560 回答