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()類:
將要顯示的內容設置上:
搞定收工。