get rid of often-stuck background color in FCheckBoxes

This commit is contained in:
myk
2013-03-13 17:19:00 +00:00
parent 6e21d10345
commit 6e358bffb2
2 changed files with 4 additions and 56 deletions

View File

@@ -6,8 +6,6 @@ import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent; import java.awt.event.FocusEvent;
import java.awt.event.KeyAdapter; import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent; import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
@@ -37,6 +35,7 @@ import forge.gui.framework.EDocID;
import forge.gui.home.EMenuGroup; import forge.gui.home.EMenuGroup;
import forge.gui.home.IVSubmenu; import forge.gui.home.IVSubmenu;
import forge.gui.home.VHomeUI; import forge.gui.home.VHomeUI;
import forge.gui.toolbox.FCheckBox;
import forge.gui.toolbox.FLabel; import forge.gui.toolbox.FLabel;
import forge.gui.toolbox.FList; import forge.gui.toolbox.FList;
import forge.gui.toolbox.FScrollPane; import forge.gui.toolbox.FScrollPane;
@@ -227,26 +226,10 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
/** Consolidates checkbox styling in one place. */ /** Consolidates checkbox styling in one place. */
@SuppressWarnings("serial") @SuppressWarnings("serial")
private class OptionsCheckBox extends JCheckBox { private class OptionsCheckBox extends FCheckBox {
public OptionsCheckBox(final String txt0) { public OptionsCheckBox(final String txt0) {
super(); super(txt0);
setText(txt0);
setFont(FSkin.getBoldFont(12)); setFont(FSkin.getBoldFont(12));
setForeground(FSkin.getColor(FSkin.Colors.CLR_TEXT));
setBackground(FSkin.getColor(FSkin.Colors.CLR_HOVER));
setOpaque(false);
this.addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(final MouseEvent evt) {
setOpaque(true);
}
@Override
public void mouseExited(final MouseEvent evt) {
setOpaque(false);
}
});
} }
} }

View File

@@ -1,21 +1,12 @@
package forge.gui.toolbox; package forge.gui.toolbox;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JCheckBox; import javax.swing.JCheckBox;
import forge.Command;
/** /**
* A custom instance of JCheckBox using Forge skin properties. * A custom instance of JCheckBox using Forge skin properties.
*/ */
@SuppressWarnings("serial") @SuppressWarnings("serial")
public class FCheckBox extends JCheckBox implements ItemListener, MouseListener { public class FCheckBox extends JCheckBox {
private Command cmd;
/** */
public FCheckBox() { public FCheckBox() {
this(""); this("");
} }
@@ -27,31 +18,5 @@ public class FCheckBox extends JCheckBox implements ItemListener, MouseListener
this.setBackground(FSkin.getColor(FSkin.Colors.CLR_HOVER)); this.setBackground(FSkin.getColor(FSkin.Colors.CLR_HOVER));
this.setFont(FSkin.getFont(14)); this.setFont(FSkin.getFont(14));
this.setOpaque(false); this.setOpaque(false);
this.addMouseListener(this);
this.addItemListener(this);
} }
/** @param cmd0 &emsp; {@link forge.Command} */
public void setCommand(final Command cmd0) {
this.cmd = cmd0;
}
@Override
public void mouseEntered(final MouseEvent e) {
setOpaque(true);
}
@Override
public void mouseExited(final MouseEvent e) {
setOpaque(false);
}
@Override
public void itemStateChanged(final ItemEvent e) {
if (cmd != null) { cmd.execute(); }
}
@Override public void mouseClicked(MouseEvent arg0) { }
@Override public void mousePressed(MouseEvent arg0) { }
@Override public void mouseReleased(MouseEvent arg0) { }
} }