如何使用swingx 1.6突出显示JTable中的每一行

Dak*_*rth 7 java swing swingx jxtreetable swingx-highlighter

我需要突出显示JTable中的每一行.使用旧版本的swingx,可以这样做:

table.setHighlighters(new HighlighterPipeline(new Highlighter[] { new AlternateRowHighlighter(
            color1, color2,color3 }));
Run Code Online (Sandbox Code Playgroud)

但现在,使用swingx 1.6,方法setHighlighters()无法接受这些参数.它说"JXTable类型中的方法setHighlighters(Highlighter ...)不适用于参数(HighlighterPipeline)"

那么我怎么能用新的swingx呢?

Bil*_*kas 6

要为您添加剥离,您JXTable需要使用HighlighterFactory.
尝试:

table.addHighlighter(HighlighterFactory.createSimpleStriping()); 
Run Code Online (Sandbox Code Playgroud)

要么:

table.addHighlighter(HighlighterFactory.createAlternateStriping(Color baseBackground, Color alternateBackground)); 
Run Code Online (Sandbox Code Playgroud)

或者,如果您想添加多个荧光笔,您可以使用:

table.setHighlighters(Highlighter... highlighters); 
Run Code Online (Sandbox Code Playgroud)

始终HighlighterFactory使用创建你的荧光笔.