diff --git a/platform/platform-impl/src/com/intellij/ide/customize/AbstractCustomizeWizardStep.java b/platform/platform-impl/src/com/intellij/ide/customize/AbstractCustomizeWizardStep.java index af703fa4bfef..5b57ca8d4787 100644 --- a/platform/platform-impl/src/com/intellij/ide/customize/AbstractCustomizeWizardStep.java +++ b/platform/platform-impl/src/com/intellij/ide/customize/AbstractCustomizeWizardStep.java @@ -46,18 +46,23 @@ public abstract class AbstractCustomizeWizardStep extends JPanel { return anchorButton.isSelected() ? getSelectionBackground() : super.getBackground(); } }; - panel.setOpaque(true); + panel.setOpaque(anchorButton.isSelected()); new ClickListener() { @Override public boolean onClick(@NotNull MouseEvent event, int clickCount) { anchorButton.setSelected(true); - action.run(); return true; } }.installOn(panel); anchorButton.addItemListener(new ItemListener() { + boolean curState = anchorButton.isSelected(); @Override public void itemStateChanged(ItemEvent e) { + if (e.getStateChange() == ItemEvent.SELECTED && curState != anchorButton.isSelected()) { + action.run(); + } + curState = anchorButton.isSelected(); + panel.setOpaque(curState); panel.repaint(); } }); @@ -67,4 +72,7 @@ public abstract class AbstractCustomizeWizardStep extends JPanel { Component getDefaultFocusedComponent() { return null; } + + public void beforeShown(boolean forward) { + } } diff --git a/platform/platform-impl/src/com/intellij/ide/customize/CustomizeUIThemeStepPanel.java b/platform/platform-impl/src/com/intellij/ide/customize/CustomizeUIThemeStepPanel.java index 84329788785b..91e2625c3a6b 100644 --- a/platform/platform-impl/src/com/intellij/ide/customize/CustomizeUIThemeStepPanel.java +++ b/platform/platform-impl/src/com/intellij/ide/customize/CustomizeUIThemeStepPanel.java @@ -31,8 +31,6 @@ import org.jetbrains.annotations.Nullable; import javax.swing.*; import java.awt.*; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; import java.util.LinkedHashMap; import java.util.Map; @@ -102,13 +100,6 @@ public class CustomizeUIThemeStepPanel extends AbstractCustomizeWizardStep { }; label.setVerticalAlignment(SwingConstants.TOP); panel.add(label, BorderLayout.CENTER); - radioButton.addItemListener(new ItemListener() { - @Override - public void itemStateChanged(ItemEvent e) { - if (e.getStateChange() != ItemEvent.SELECTED) return; - applyLaf(lafName, CustomizeUIThemeStepPanel.this); - } - }); group.add(radioButton); buttonsPanel.add(panel);