Author: tilman
Date: Sun May 10 05:02:07 2026
New Revision: 1934017
Log:
PDFBOX-5660: refactor, avoid leaking this in constructor
Modified:
pdfbox/branches/3.0/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java
pdfbox/branches/3.0/debugger/src/main/java/org/apache/pdfbox/debugger/treestatus/TreeStatusPane.java
Modified:
pdfbox/branches/3.0/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java
==============================================================================
---
pdfbox/branches/3.0/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java
Sun May 10 04:20:06 2026 (r1934016)
+++
pdfbox/branches/3.0/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java
Sun May 10 05:02:07 2026 (r1934017)
@@ -419,13 +419,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/3.0/debugger/src/main/java/org/apache/pdfbox/debugger/treestatus/TreeStatusPane.java
==============================================================================
---
pdfbox/branches/3.0/debugger/src/main/java/org/apache/pdfbox/debugger/treestatus/TreeStatusPane.java
Sun May 10 04:20:06 2026 (r1934016)
+++
pdfbox/branches/3.0/debugger/src/main/java/org/apache/pdfbox/debugger/treestatus/TreeStatusPane.java
Sun May 10 05:02:07 2026 (r1934017)
@@ -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;
@@ -72,10 +73,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();
@@ -88,6 +91,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);
}
/**