JScrollBar在Nimbus L&F下滚动条消失

问题说明

在更新最新的JDK 1.8_60后,遇到一个Bug:Nimbus L&F下滚动条在内容很多时不显示滑块了。

这个问题只会在Nimbus L&F下才会出现,而默认的Metal L&F则没有问题。一看到这个问题,我就想是不是设置一下滑块的最小大小就行了,但是经过反复查看代码,基本肯定这个最小大小是存在的,是new Dimension(29, 1),但是具体原因在我看了很久的源码后也没有弄明白。


解决方案

自己找不到办法解决方案了,我在stackoverflow上发帖找到了答案:http://stackoverflow.com/questions/32857372/jscrollbar-dont-show-thumb-in-nimbus-lf

简单来说,就是要给滑块设置最小大小,跟我开始的设想是一样的,只是我以为源码中已经有了最小大小设置,没想到还可以再设置一下。

UIManager.getDefaults().put("ScrollBar.minimumThumbSize", new Dimension(29, 1));

如果你将滑块的最小高度设置成1的话,滑块可能会变得非常小。所以我会又把最小高度设置成默认的29了。这在我的笔记本上是能够正确运行的。可是,当我换了一台电脑,1和29这两个数值都无效,滑块还是不见了。这时,我尝试把最小大小调大,直到35滑块出现了。对于这个现象,我无法解释其中的原因,如果你也遇到和我类似的情况,而且35不管用的话,再调大一些试试吧。


吐槽

本公司的一个产品是Applet模式,每次JDK升级都心惊肉跳,而且经常都会出现事儿。JDK7的时候是安全问题,频繁的安全补丁更新基本上都导致我们的Applet无法启动,又要增加某个权限设置或者签名设置,要用户将网站加入Java的信任站点等,而至今用户使用时也还会遇到一些安全警告。到了JDK8的时代,就是以前能够运行的Swing和JavaFX代码,各种不能运行,有些是JavaFX API升级,有些就莫名其妙的Bug。所以,公司产品选取技术一定要成熟要流行要有社区!


http://www.alanzeng.cn/2015/10/nimbus-miss-jscrollbar-thumb/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值