diff --git a/android/src/com/android/tools/idea/editors/theme/ui/VariantsComboBox.java b/android/src/com/android/tools/idea/editors/theme/ui/VariantsComboBox.java
index eaf2c6c..2c1d296 100644
--- a/android/src/com/android/tools/idea/editors/theme/ui/VariantsComboBox.java
+++ b/android/src/com/android/tools/idea/editors/theme/ui/VariantsComboBox.java
@@ -33,9 +33,12 @@
 import javax.swing.JPopupMenu;
 import javax.swing.JSeparator;
 import javax.swing.SwingConstants;
+import javax.swing.UIManager;
 import javax.swing.border.Border;
 import javax.swing.event.ListDataEvent;
 import javax.swing.event.ListDataListener;
+import javax.swing.plaf.ButtonUI;
+import javax.swing.plaf.basic.BasicButtonUI;
 import java.awt.ItemSelectable;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
@@ -56,7 +59,12 @@
   private static final Border VARIANT_ITEM_BORDER = new JBEmptyBorder(5);
   private static final JBColor VARIANT_MENU_BACKGROUND_COLOR = JBColor.WHITE;
 
-  private JButton myButton = new JButton();
+  private JButton myButton = new JButton() {
+    @Override
+    public void updateUI() {
+      setUI((ButtonUI)BasicButtonUI.createUI(this));
+    }
+  };
   private ComboBoxModel myModel = new DefaultComboBoxModel();
   private ListDataListener myListDataListener = new ListDataListener() {
     @Override
@@ -78,11 +86,7 @@
   public VariantsComboBox() {
     add(myButton);
 
-    myButton.setFocusPainted(false);
-    myButton.setBorderPainted(false);
-    myButton.setContentAreaFilled(false);
     myButton.setBorder(BorderFactory.createEmptyBorder());
-    myButton.setOpaque(false);
     myButton.setIcon(PlatformIcons.COMBOBOX_ARROW_ICON);
     myButton.setHorizontalTextPosition(SwingConstants.LEFT);
     myButton.setHorizontalAlignment(SwingConstants.RIGHT);
diff --git a/android/src/com/android/tools/swing/ui/ClickableLabel.java b/android/src/com/android/tools/swing/ui/ClickableLabel.java
index fd401a8..6f09e01 100644
--- a/android/src/com/android/tools/swing/ui/ClickableLabel.java
+++ b/android/src/com/android/tools/swing/ui/ClickableLabel.java
@@ -15,7 +15,12 @@
  */
 package com.android.tools.swing.ui;
 
-import javax.swing.*;
+import javax.swing.BorderFactory;
+import javax.swing.Icon;
+import javax.swing.JButton;
+import javax.swing.SwingConstants;
+import javax.swing.plaf.ButtonUI;
+import javax.swing.plaf.basic.BasicButtonUI;
 
 /**
  * Class that implements a label that supports action listeners
@@ -24,9 +29,6 @@
   public ClickableLabel(String text, Icon icon, int horizontalAlignment) {
     super(text, icon);
 
-    setFocusPainted(false);
-    setBorderPainted(false);
-    setContentAreaFilled(false);
     setBorder(BorderFactory.createEmptyBorder());
     setHorizontalAlignment(horizontalAlignment);
   }
@@ -38,4 +40,9 @@
   public ClickableLabel() {
     this(null);
   }
+
+  @Override
+  public void updateUI() {
+    setUI((ButtonUI)BasicButtonUI.createUI(this));
+  }
 }
