diff --git a/src/main/java/bdv/tools/HelpDialog.java b/src/main/java/bdv/tools/HelpDialog.java index 4ccd0fcbd32270429b621fa8cfd7c101815e0581..61edcb7ed41fdb417c49f216def1d1f7fa9b5a6b 100644 --- a/src/main/java/bdv/tools/HelpDialog.java +++ b/src/main/java/bdv/tools/HelpDialog.java @@ -28,7 +28,7 @@ */ package bdv.tools; -import bdv.util.MemoryFixedDialog; +import bdv.util.DelayedPackDialog; import java.awt.BorderLayout; import java.awt.Dimension; @@ -48,9 +48,8 @@ import javax.swing.JEditorPane; import javax.swing.JScrollPane; import javax.swing.KeyStroke; import javax.swing.ScrollPaneConstants; -import javax.swing.WindowConstants; -public class HelpDialog extends MemoryFixedDialog +public class HelpDialog extends DelayedPackDialog { private static final long serialVersionUID = 1L; diff --git a/src/main/java/bdv/tools/RecordMaxProjectionDialog.java b/src/main/java/bdv/tools/RecordMaxProjectionDialog.java index dcc42668172a2277d0a04afa581aee655de121f5..3ec543035640a7494229a28b3e862ba33cc40d46 100644 --- a/src/main/java/bdv/tools/RecordMaxProjectionDialog.java +++ b/src/main/java/bdv/tools/RecordMaxProjectionDialog.java @@ -30,7 +30,7 @@ package bdv.tools; import bdv.cache.CacheControl; import bdv.export.ProgressWriter; -import bdv.util.MemoryFixedDialog; +import bdv.util.DelayedPackDialog; import bdv.util.Prefs; import bdv.viewer.BasicViewerState; import bdv.viewer.ViewerPanel; @@ -64,7 +64,6 @@ import javax.swing.JSpinner; import javax.swing.JTextField; import javax.swing.KeyStroke; import javax.swing.SpinnerNumberModel; -import javax.swing.WindowConstants; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import net.imglib2.Cursor; @@ -77,7 +76,7 @@ import bdv.viewer.OverlayRenderer; import bdv.viewer.render.RenderTarget; import net.imglib2.util.LinAlgHelpers; -public class RecordMaxProjectionDialog extends MemoryFixedDialog implements OverlayRenderer +public class RecordMaxProjectionDialog extends DelayedPackDialog implements OverlayRenderer { private static final long serialVersionUID = 1L; diff --git a/src/main/java/bdv/tools/RecordMovieDialog.java b/src/main/java/bdv/tools/RecordMovieDialog.java index ae5c564f509274844d17347984df56e1d23ab5ba..cf35bcbd141638108ea1cde6d74bec026dd63084 100644 --- a/src/main/java/bdv/tools/RecordMovieDialog.java +++ b/src/main/java/bdv/tools/RecordMovieDialog.java @@ -30,7 +30,7 @@ package bdv.tools; import bdv.cache.CacheControl; import bdv.export.ProgressWriter; -import bdv.util.MemoryFixedDialog; +import bdv.util.DelayedPackDialog; import bdv.util.Prefs; import bdv.viewer.BasicViewerState; import bdv.viewer.ViewerPanel; @@ -63,14 +63,13 @@ import javax.swing.JSpinner; import javax.swing.JTextField; import javax.swing.KeyStroke; import javax.swing.SpinnerNumberModel; -import javax.swing.WindowConstants; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import net.imglib2.realtransform.AffineTransform3D; import bdv.viewer.OverlayRenderer; import bdv.viewer.render.RenderTarget; -public class RecordMovieDialog extends MemoryFixedDialog implements OverlayRenderer +public class RecordMovieDialog extends DelayedPackDialog implements OverlayRenderer { private static final long serialVersionUID = 1L; diff --git a/src/main/java/bdv/tools/VisibilityAndGroupingDialog.java b/src/main/java/bdv/tools/VisibilityAndGroupingDialog.java index 9b5b2bacd33a6deb883a8fd77df7fd698ab933a8..b1da27e26f79a5bd9cfe80c2da58c2047b44cbee 100644 --- a/src/main/java/bdv/tools/VisibilityAndGroupingDialog.java +++ b/src/main/java/bdv/tools/VisibilityAndGroupingDialog.java @@ -28,7 +28,7 @@ */ package bdv.tools; -import bdv.util.MemoryFixedDialog; +import bdv.util.DelayedPackDialog; import bdv.viewer.SourceAndConverter; import bdv.viewer.ViewerState; import bdv.viewer.VisibilityAndGrouping; @@ -68,12 +68,11 @@ import javax.swing.JRadioButton; import javax.swing.JTextField; import javax.swing.KeyStroke; import javax.swing.SwingUtilities; -import javax.swing.WindowConstants; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; @Deprecated -public class VisibilityAndGroupingDialog extends MemoryFixedDialog +public class VisibilityAndGroupingDialog extends DelayedPackDialog { private static final long serialVersionUID = 1L; diff --git a/src/main/java/bdv/tools/brightness/BrightnessDialog.java b/src/main/java/bdv/tools/brightness/BrightnessDialog.java index aabaeea494471bbcb2a2b90462774a30a87dec13..ce98337f48a7fe79259fc397cb4b68e5892fb93e 100644 --- a/src/main/java/bdv/tools/brightness/BrightnessDialog.java +++ b/src/main/java/bdv/tools/brightness/BrightnessDialog.java @@ -60,12 +60,11 @@ import javax.swing.JSpinner; import javax.swing.KeyStroke; import javax.swing.SpinnerNumberModel; import javax.swing.SwingUtilities; -import javax.swing.WindowConstants; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import bdv.util.InvokeOnEDT; -import bdv.util.MemoryFixedDialog; +import bdv.util.DelayedPackDialog; import mpicbg.spim.data.generic.sequence.BasicViewSetup; import net.imglib2.type.numeric.ARGBType; @@ -76,7 +75,7 @@ import net.imglib2.type.numeric.ARGBType; * @author Tobias Pietzsch <tobias.pietzsch@gmail.com> */ @Deprecated -public class BrightnessDialog extends MemoryFixedDialog +public class BrightnessDialog extends DelayedPackDialog { public BrightnessDialog( final Frame owner, final SetupAssignments setupAssignments ) { diff --git a/src/main/java/bdv/util/MemoryFixedDialog.java b/src/main/java/bdv/util/DelayedPackDialog.java similarity index 54% rename from src/main/java/bdv/util/MemoryFixedDialog.java rename to src/main/java/bdv/util/DelayedPackDialog.java index 9f60c07b398f24d7fb1d4a90fc9baaada73aa7d4..3d3d178758cbb8635f8df5488f2e473366da556a 100644 --- a/src/main/java/bdv/util/MemoryFixedDialog.java +++ b/src/main/java/bdv/util/DelayedPackDialog.java @@ -3,17 +3,14 @@ package bdv.util; import javax.swing.*; import java.awt.*; -public class MemoryFixedDialog extends JDialog +/** + * A {@code JDialog} that delays {@code pack()} calls until the dialog is made visible. + */ +public class DelayedPackDialog extends JDialog { - private boolean packIsPending = false; + private volatile boolean packIsPending = false; - public MemoryFixedDialog() - { - super(); - super.setDefaultCloseOperation( WindowConstants.DISPOSE_ON_CLOSE ); - } - - public MemoryFixedDialog( Frame owner, String title, boolean modal ) + public DelayedPackDialog( Frame owner, String title, boolean modal ) { super( owner, title, modal ); } @@ -40,10 +37,4 @@ public class MemoryFixedDialog extends JDialog } super.setVisible( visible ); } - - @Override - public void setDefaultCloseOperation( int operation ) - { - // do nothing - } }