Java Swing--仅在选中时显示背景色?

Java Swing--仅在选中时显示背景色?,java,swing,jtable,tablecellrenderer,Java,Swing,Jtable,Tablecellrenderer,好的,我有一个IndirectListModel,允许我绑定到JTable的多行选择,我为其中的所有单元格设置了以下渲染器: 私有静态类MyVerificationHighlightingCellRenderer扩展了DefaultTableCellRenderer{ @凌驾 公共组件GetTableCellRenderComponent(JTable表、对象值、布尔isSelected、布尔hasFocus、int rowIndex、int columnIndex){ getTableCell

好的,我有一个
IndirectListModel
,允许我绑定到
JTable
的多行选择,我为其中的所有单元格设置了以下渲染器:

私有静态类MyVerificationHighlightingCellRenderer扩展了DefaultTableCellRenderer{
@凌驾
公共组件GetTableCellRenderComponent(JTable表、对象值、布尔isSelected、布尔hasFocus、int rowIndex、int columnIndex){
getTableCellRenderComponent(表、值、isSelected、hasFocus、rowIndex、columnIndex);
MyRow行=。。。
if(row.isValid()){
挫折背景(Background.OK);
}否则{
立根点(背景误差);
}
归还这个;
}
}
这很有效。。。仅当选定行时

也就是说,我选择行时,它们会变为绿色或红色,这取决于它们的
isValid()
方法。然而,一旦我选择了其他的东西,新的选择就会得到背景色,而其他的则返回到白色/条纹


为什么??更重要的是,当没有选择行时,如何使我的表使用我想要的该死的颜色?

好的,那么我们在后台使用了
JGStripedTable
类。这个东西会生成通常显示的条纹

我们需要通过添加

putClientProperty("JGoodies.customBackground", true);

返回之前,请输入我们的
gettableCellRenderComponent
方法。

如果您能给我们一个帮助,那就太好了。@GeorgeZ。我很想。。。除非我不被允许。(1-)除非我不被允许-你当然是。本课程的重点是演示问题。你没有必要发布真实的数据。我们只需要一个带有JList和自定义渲染的帧。这是JGoodies特有的行为,不是纯粹的Swing。