6

我编写了一个程序,其中我根据标准突出显示某些行。我发布了一个关于此的问题:- JTable CustomRenderer 问题

针对这个问题给出的解决方案是我需要在 else 中为不符合标准的行设置颜色。所以我决定在 else 中我将使用默认颜色JTable。修改后的代码是

else{
           c.setForeground(DefaultLookup.getColor(this, ui, "Table.dropCellForeground")); 
           c.setBackground(DefaultLookup.getColor(this, ui, "Table.dropCellBackground"));
        } 

到目前为止一切顺利,我得到了必需的行为,但是当我试图制作 jar 时,警告即将到来:-

警告:DefaultLookup 是内部专有 API,可能会在未来的版本中删除

如果有任何其他方法可以将行设置为默认颜色,任何人都可以建议我JTable

4

1 回答 1

13

替换DefaultLookup.getColor(this, ui, "Table.dropCellForeground")javax.swing.UIManager.getColor("Table.dropCellForeground")应该可以解决您的问题。

您还可以使用UIManagerput(Object key, Object value)中的方法(全局)修改外观中存在的默认值

于 2012-12-07T22:47:57.537 回答