【Swing入門教程】一步一步做Netbeans(3):定製可顯示多行的JToolTip

      Netbeans上大部分組件的標籤提示都是單行的,想給按鈕等設置標籤提示直接用setToolTipText(String tip)即可。但如果要設置多行的標籤提示怎麼辦,Netbeans上就有多行的標籤提示,如下圖示:

多行的JToolTip

      網上有人說用setToolTipText("<html>aaaa /br bbbbb </html>")可以,哈原來這麼簡單,試了下,純粹扯淡。看了下JComponent源碼,每個JComponent都默認帶着一個JToolTip;當你看到JToolTip的javadoc時,Sun很明確的告訴你:需要創建自定義 ToolTip 顯示的組件可以重寫 JComponentcreateToolTip 方法,並使用此類的一個子類。

     方法:先自定義一個繼承自JToolTip的MultiLineToolTip,對要實現多行提示的組件重寫createToolTip()方法,在用setToolTipText(String tip)即可(多行用'/n'做分割);先看效果:

多行提示效果

MultiLineToolTip的實現

       這裏需要自制JToolTip的L&F,將要顯示的多行文字放入字符串數組內,計算顯示面板的寬度高度,遍歷數組將內容畫到面板上即可:

TabButton類需要重寫createToolTip()類:

將要顯示的內容設置上:

搞定收工。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章