diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/java/cuchaz/enigma/gui/util/AbstractListCellRenderer.java | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/main/java/cuchaz/enigma/gui/util/AbstractListCellRenderer.java b/src/main/java/cuchaz/enigma/gui/util/AbstractListCellRenderer.java index e071fe1c..612e3e92 100644 --- a/src/main/java/cuchaz/enigma/gui/util/AbstractListCellRenderer.java +++ b/src/main/java/cuchaz/enigma/gui/util/AbstractListCellRenderer.java | |||
| @@ -10,16 +10,18 @@ public abstract class AbstractListCellRenderer<E> extends JPanel implements List | |||
| 10 | 10 | ||
| 11 | private static final Border NO_FOCUS_BORDER = BorderFactory.createEmptyBorder(1, 1, 1, 1); | 11 | private static final Border NO_FOCUS_BORDER = BorderFactory.createEmptyBorder(1, 1, 1, 1); |
| 12 | 12 | ||
| 13 | private Border noFocusBorder; | ||
| 14 | |||
| 13 | public AbstractListCellRenderer() { | 15 | public AbstractListCellRenderer() { |
| 14 | setBorder(getNoFocusBorder()); | 16 | setBorder(getNoFocusBorder()); |
| 15 | } | 17 | } |
| 16 | 18 | ||
| 17 | protected Border getNoFocusBorder() { | 19 | protected Border getNoFocusBorder() { |
| 18 | Border border = UIManager.getLookAndFeel().getDefaults().getBorder("List.List.cellNoFocusBorder"); | 20 | if (noFocusBorder == null) { |
| 19 | if (border == null) { | 21 | Border border = UIManager.getLookAndFeel().getDefaults().getBorder("List.List.cellNoFocusBorder"); |
| 20 | return NO_FOCUS_BORDER; | 22 | noFocusBorder = border != null ? border : NO_FOCUS_BORDER; |
| 21 | } | 23 | } |
| 22 | return border; | 24 | return noFocusBorder; |
| 23 | } | 25 | } |
| 24 | 26 | ||
| 25 | protected Border getBorder(boolean isSelected, boolean cellHasFocus) { | 27 | protected Border getBorder(boolean isSelected, boolean cellHasFocus) { |