diff --git a/Ghidra/Framework/Docking/src/main/java/docking/widgets/table/GTableHeaderRenderer.java b/Ghidra/Framework/Docking/src/main/java/docking/widgets/table/GTableHeaderRenderer.java index 06ef1bc0c6..5974c197b0 100644 --- a/Ghidra/Framework/Docking/src/main/java/docking/widgets/table/GTableHeaderRenderer.java +++ b/Ghidra/Framework/Docking/src/main/java/docking/widgets/table/GTableHeaderRenderer.java @@ -105,10 +105,17 @@ public class GTableHeaderRenderer extends DefaultTableCellRenderer { updateClipping(); + // Note: we should not have to set the colors here. That is usually done by the renderer + // when getTableCellRendererComponent() is called. Some Lafs, like the FlatLaf will change + // colors when painting, after the renderer component has been configured. To support that, + // we must update the colors here as well. + rendererComponent.setBackground(getBackground()); + rendererComponent.setForeground(getForeground()); + rendererComponent.paint(g); // paint our items after the delegate call so that we paint on top - super.paint(g); + paintChildren(g); } private void updateClipping() {