Author: tilman
Date: Sun May 10 05:02:11 2026
New Revision: 1934018

Log:
PDFBOX-5660: refactor, avoid leaking this in constructor

Modified:
   
pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java
   
pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/treestatus/TreeStatusPane.java

Modified: 
pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java
==============================================================================
--- 
pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java
      Sun May 10 05:02:07 2026        (r1934017)
+++ 
pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java
      Sun May 10 05:02:11 2026        (r1934018)
@@ -19,7 +19,6 @@ package org.apache.pdfbox.debugger;
 import java.awt.BorderLayout;
 import java.awt.Component;
 import java.awt.Cursor;
-import java.awt.Dimension;
 import java.awt.FileDialog;
 import java.awt.Frame;
 import java.awt.Toolkit;
@@ -296,13 +295,8 @@ public class PDFDebugger extends JFrame
         documentScroller.setViewportView(documentPanel);
 
         statusPane = new TreeStatusPane(tree);
-        statusPane.getPanel().setBorder(new BevelBorder(BevelBorder.RAISED));
-        Dimension preferredTreePathSize = 
statusPane.getPanel().getPreferredSize();
-        int treePathHeight = (int) 
Math.round(preferredTreePathSize.getHeight());
-        treePathHeight = Integer.parseInt(
-                configuration.getProperty("treePathHeight", 
Integer.toString(treePathHeight)));
-        preferredTreePathSize.height = treePathHeight;
-        statusPane.getPanel().setPreferredSize(preferredTreePathSize);
+        statusPane.init();
+
         getContentPane().add(statusPane.getPanel(), BorderLayout.PAGE_START);
 
         getContentPane().add(jSplitPane, BorderLayout.CENTER);

Modified: 
pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/treestatus/TreeStatusPane.java
==============================================================================
--- 
pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/treestatus/TreeStatusPane.java
        Sun May 10 05:02:07 2026        (r1934017)
+++ 
pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/treestatus/TreeStatusPane.java
        Sun May 10 05:02:11 2026        (r1934018)
@@ -19,6 +19,7 @@ package org.apache.pdfbox.debugger.trees
 
 import java.awt.BorderLayout;
 import java.awt.Color;
+import java.awt.Dimension;
 import java.awt.event.ActionEvent;
 import javax.swing.AbstractAction;
 import javax.swing.Action;
@@ -70,10 +71,12 @@ public class TreeStatusPane implements T
     public TreeStatusPane(JTree targetTree)
     {
         tree = targetTree;
-        init();
     }
 
-    private void init()
+    /**
+     * Initialization, to be called immediately after construction.
+     */
+    public void init()
     {
         panel = new JPanel(new BorderLayout());
         statusField = new JTextField();
@@ -86,6 +89,13 @@ public class TreeStatusPane implements T
         errorBorder = new BevelBorder(BevelBorder.LOWERED, Color.RED, 
Color.RED);
         statusField.setAction(textInputAction);
         tree.addTreeSelectionListener(this);
+        panel.setBorder(new BevelBorder(BevelBorder.RAISED));
+        Dimension preferredTreePathSize = panel.getPreferredSize();
+        int treePathHeight = (int) 
Math.round(preferredTreePathSize.getHeight());
+        treePathHeight = Integer.parseInt(
+                PDFDebugger.configuration.getProperty("treePathHeight", 
Integer.toString(treePathHeight)));
+        preferredTreePathSize.height = treePathHeight;
+        panel.setPreferredSize(preferredTreePathSize);
     }
 
     /**

Reply via email to