From 669d2b1ca732b5517276e6e84d688ac881da0136 Mon Sep 17 00:00:00 2001 From: Juhan Oskar Hennoste Date: Wed, 27 Mar 2024 20:37:00 +0200 Subject: [PATCH] Refactor code --- src/main/java/ee/ut/dendroloj/CallTreeLayout.java | 8 +------- src/main/java/ee/ut/dendroloj/Dendrologist.java | 6 +++++- src/main/java/ee/ut/dendroloj/GraphGUI.java | 6 ++---- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/src/main/java/ee/ut/dendroloj/CallTreeLayout.java b/src/main/java/ee/ut/dendroloj/CallTreeLayout.java index 3770527..037a7f5 100644 --- a/src/main/java/ee/ut/dendroloj/CallTreeLayout.java +++ b/src/main/java/ee/ut/dendroloj/CallTreeLayout.java @@ -16,10 +16,6 @@ class CallTreeLayout { - static { - GraphGUI.initProperties(); - } - public static final MetaTreeNode root = new MetaTreeNode(); private static TreeNode currentNode = root; @@ -29,12 +25,10 @@ class CallTreeLayout { public static final JSlider stepSlider; static { - stepSlider = new JSlider(); + stepSlider = new JSlider(0, 0, 0); stepSlider.setEnabled(false); stepSlider.setPaintTicks(true); stepSlider.setMajorTickSpacing(1); - stepSlider.setMinimum(0); - stepSlider.setMaximum(0); stepSlider.addChangeListener(event -> { if (!internalSliderChange) { setActiveStep(stepSlider.getValue()); diff --git a/src/main/java/ee/ut/dendroloj/Dendrologist.java b/src/main/java/ee/ut/dendroloj/Dendrologist.java index 90d8e17..f643502 100644 --- a/src/main/java/ee/ut/dendroloj/Dendrologist.java +++ b/src/main/java/ee/ut/dendroloj/Dendrologist.java @@ -5,11 +5,15 @@ import java.awt.Color; import java.util.Arrays; import java.util.List; -import java.util.Objects; import java.util.function.Function; public final class Dendrologist { + static { + // Initialize global Swing and GraphStream properties as soon as possible + GraphGUI.initProperties(); + } + private static boolean awake = false; // Startup settings diff --git a/src/main/java/ee/ut/dendroloj/GraphGUI.java b/src/main/java/ee/ut/dendroloj/GraphGUI.java index b9b59ca..18f413a 100644 --- a/src/main/java/ee/ut/dendroloj/GraphGUI.java +++ b/src/main/java/ee/ut/dendroloj/GraphGUI.java @@ -26,10 +26,8 @@ class GraphGUI { } /** - * Initializes global Swing and GraphStream properties. - * This will be called automatically when the GUI is initialized. - * You should call this manually before creating Swing objects - * if you create Swing objects before GUI is initialized. + * Initializes global Swing and GraphStream properties. This will be called automatically when the GUI is initialized. + * To avoid issues this should also be called manually before any initialization code that might create Swing objects. */ public static void initProperties() { // The actual initialization happens inside the static block above