默认

[已回复] JTabbedPane选项卡获得焦点时的虚线边框怎么去掉?

查看数: 33553 | 评论数: 10 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2015-12-24 04:47

正文摘要:

我知道重写paintFocusIndicator方法可以去掉这个边框,还有没有其他更简单的方法? 我看原来的例子里好像没有设置什么,就没有这个边框。

评论

JackJiang 发表于 8 年前
引用:ttzommed 发表于 2015-12-25 00:04
是啊。我是这么觉得的。但是SwingSets2(BeautyEyeLNFDemo).jar里面他很多东西没有这种虚线边框

我已经看不懂你在说什么了。
[已回复] JTabbedPane选项卡获得焦点时的虚线边框怎么去掉?_QQ20151225-0.png


ttzommed 发表于 8 年前
引用:JackJiang 发表于 2015-12-24 22:22
它跟例子有啥关系?这里是外观的实现代码,不管是谁的代码,用了这个外观都会是这样啊。

是啊。我是这么觉得的。但是SwingSets2(BeautyEyeLNFDemo).jar里面他很多东西没有这种虚线边框
JackJiang 发表于 8 年前
引用:ttzommed 发表于 2015-12-24 19:29
我的意思是,我知道改这里可以。。。我是说我在看那两个例子的源码的时候没看到里面做什么处理

它跟例子有啥关系?这里是外观的实现代码,不管是谁的代码,用了这个外观都会是这样啊。
ttzommed 发表于 8 年前
引用:JackJiang 发表于 2015-12-24 17:42
有图有真相:

我的意思是,我知道改这里可以。。。我是说我在看那两个例子的源码的时候没看到里面做什么处理
JackJiang 发表于 8 年前
引用:ttzommed 发表于 2015-12-24 17:18
我看了一下那两个例子的源码,里面没看到它处理这个地方,怎么没有虚线

有图有真相: [已回复] JTabbedPane选项卡获得焦点时的虚线边框怎么去掉?_QQ20151224-0.png


源码地址在这:https://github.com/JackJiang2011 ... BETabbedPaneUI.java
JackJiang 发表于 8 年前
引用:ttzommed 发表于 2015-12-24 17:18
我看了一下那两个例子的源码,里面没看到它处理这个地方,怎么没有虚线

仔细看我发在2楼的信息,去看源码,没有虚线绘制的代码是不可能的,它就是哥写的,不要怀疑哦
ttzommed 发表于 8 年前
引用:JackJiang 发表于 2015-12-24 09:59
官方的实现里原先就有的,你可能没有注意而已。

BeautyEye为了保持与官方的各种设置和特性一致,也没有 ...

我看了一下那两个例子的源码,里面没看到它处理这个地方,怎么没有虚线
ttzommed 发表于 8 年前
明白了。谢谢
JackJiang 发表于 8 年前
官方的实现里原先就有的,你可能没有注意而已。

BeautyEye为了保持与官方的各种设置和特性一致,也没有单独提供可以取消这个焦点虚线框的绘制属性。
但你可以自已去改BETabbedPaneUI方法里的 paintFocusIndicator里的实现内容(即代码364到371行之间),注释掉这些代码就行了,不会有上下文的关联,你随便怎么改都可以。代码改完后,你把这个java文件单独按原来的包名和位置放到你的工程里,beautyeye就会自动使用你改的这个类了。

返回顶部