2012-01-31 133 views
2

使用DefaultHightlighter.DefaultHightlighterPainter來突出顯示java文本窗格中的文本。 我想刪除所有亮點(可能有不止一個字符串高亮顯示),並希望它返回其中的亮點已被刪除字符串的位置,所以很明顯我不能使用 pseudoCodeTextPane.getHighlighter().removeHighlight(highlight);Java默認熒光筆

誰能幫助? 感謝

+1

請編輯您的問題,並張貼在這裏與Hightlighter demonstate您的問題(一個或多個)http://sscce.org/ – mKorbel 2012-01-31 10:58:43

回答

3

如何像

Highlighter.Highlight[] highlights = pseudoCodeTextPane.getHighlighter().getHighlights(); 
int[] startOffsets = new int[highlights.length]; 
int[] endOffsets = new int[highlights.length]; 
for (int i = 0; i < highlights.length; ++i) { 
    startOffsets[i] = highlights[i].getStartOffset(); 
    endOffsets[i] = highlights[i].getEndOffset(); 
} 
pseudoCodeTextPane.getHighlighter().removeAllHighlights(); 
// now do whatever processing you want to do with the highlight locations 
1

如果刪除所有亮點(我想與removeAllHighlights),你可以getHighlights之前和使用您那裏收到的信息。