Netbeans上大部分组件的标签提示都是单行的,想给按钮等设置标签提示直接用setToolTipText(String tip)即可。但如果要设置多行的标签提示怎么办,Netbeans上就有多行的标签提示,如下图示:
网上有人说用setToolTipText("<html>aaaa /br bbbbb </html>")可以,哈原来这么简单,试了下,纯粹扯淡。看了下JComponent源码,每个JComponent都默认带着一个JToolTip;当你看到JToolTip的javadoc时,Sun很明确的告诉你:需要创建自定义 ToolTip
显示的组件可以重写 JComponent
的 createToolTip
方法,并使用此类的一个子类。
方法:先自定义一个继承自JToolTip的MultiLineToolTip,对要实现多行提示的组件重写createToolTip()方法,在用setToolTipText(String tip)即可(多行用'/n'做分割);先看效果:
MultiLineToolTip的实现
这里需要自制JToolTip的L&F,将要显示的多行文字放入字符串数组内,计算显示面板的宽度高度,遍历数组将内容画到面板上即可:
TabButton类需要重写createToolTip()类:
将要显示的内容设置上:
搞定收工。