From ef046a1ba20407d5a5180f846c1ca6c6984116cd Mon Sep 17 00:00:00 2001 From: ssadetsky Date: Fri, 14 Jul 2017 13:03:03 +0100 Subject: [PATCH] 8078269: JTabbedPane UI Property TabbedPane.tabAreaBackground no longer works Reviewed-by: serb, alexsch --- .../swing/plaf/metal/MetalTabbedPaneUI.java | 5 +++-- .../JTabbedPane/8007563/Test8007563.java | 20 +++++++++++++++---- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/share/classes/javax/swing/plaf/metal/MetalTabbedPaneUI.java b/src/share/classes/javax/swing/plaf/metal/MetalTabbedPaneUI.java index 9d34a4dd5..727120ca0 100644 --- a/src/share/classes/javax/swing/plaf/metal/MetalTabbedPaneUI.java +++ b/src/share/classes/javax/swing/plaf/metal/MetalTabbedPaneUI.java @@ -806,11 +806,12 @@ public class MetalTabbedPaneUI extends BasicTabbedPaneUI { // Paint the background for the tab area if ( tabPane.isOpaque() ) { - if (!c.isBackgroundSet() && (tabAreaBackground != null)) { + Color background = c.getBackground(); + if (background instanceof UIResource && tabAreaBackground != null) { g.setColor(tabAreaBackground); } else { - g.setColor( c.getBackground() ); + g.setColor(background); } switch ( tabPlacement ) { case LEFT: diff --git a/test/javax/swing/JTabbedPane/8007563/Test8007563.java b/test/javax/swing/JTabbedPane/8007563/Test8007563.java index 5f73173df..aa2307df0 100644 --- a/test/javax/swing/JTabbedPane/8007563/Test8007563.java +++ b/test/javax/swing/JTabbedPane/8007563/Test8007563.java @@ -21,9 +21,7 @@ * questions. */ -import java.awt.Color; -import java.awt.Point; -import java.awt.Robot; +import java.awt.*; import java.util.ArrayList; import java.util.concurrent.CountDownLatch; import javax.swing.JFrame; @@ -119,6 +117,20 @@ public class Test8007563 implements Runnable { } } - invokeLater(this); + SecondaryLoop secondaryLoop = + Toolkit.getDefaultToolkit().getSystemEventQueue() + .createSecondaryLoop(); + new Thread() { + @Override + public void run() { + try { + Thread.sleep(200); + } catch (InterruptedException e) { + } + secondaryLoop.exit(); + invokeLater(Test8007563.this); + } + }.start(); + secondaryLoop.enter(); } } -- GitLab