From 740139cb7b40ac8573843b8fefb1616078f6f438 Mon Sep 17 00:00:00 2001 From: 2xsaiko Date: Mon, 25 May 2020 16:48:26 +0200 Subject: Fix search dialog hanging for a short time sometimes (#250) --- .../java/cuchaz/enigma/gui/util/AbstractListCellRenderer.java | 10 ++++++---- 1 file 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 extends JPanel implements List private static final Border NO_FOCUS_BORDER = BorderFactory.createEmptyBorder(1, 1, 1, 1); + private Border noFocusBorder; + public AbstractListCellRenderer() { setBorder(getNoFocusBorder()); } protected Border getNoFocusBorder() { - Border border = UIManager.getLookAndFeel().getDefaults().getBorder("List.List.cellNoFocusBorder"); - if (border == null) { - return NO_FOCUS_BORDER; + if (noFocusBorder == null) { + Border border = UIManager.getLookAndFeel().getDefaults().getBorder("List.List.cellNoFocusBorder"); + noFocusBorder = border != null ? border : NO_FOCUS_BORDER; } - return border; + return noFocusBorder; } protected Border getBorder(boolean isSelected, boolean cellHasFocus) { -- cgit v1.2.3