X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fnet%2Fsf%2Fopenrocket%2Fgui%2Fdialogs%2Foptimization%2FGeneralOptimizationDialog.java;h=de5ad2cacdc893cc04fce4c1c914177fc20ea5e7;hb=bc75b89ed43a676df56a654bfe5ad6f54cc83423;hp=f60c720d80e17bce2594e194120cd533fae66b0f;hpb=879b214e60c09d53b18f24116fbfae08fa10604c;p=debian%2Fopenrocket diff --git a/src/net/sf/openrocket/gui/dialogs/optimization/GeneralOptimizationDialog.java b/src/net/sf/openrocket/gui/dialogs/optimization/GeneralOptimizationDialog.java index f60c720d..de5ad2ca 100644 --- a/src/net/sf/openrocket/gui/dialogs/optimization/GeneralOptimizationDialog.java +++ b/src/net/sf/openrocket/gui/dialogs/optimization/GeneralOptimizationDialog.java @@ -37,6 +37,7 @@ import javax.swing.JSpinner; import javax.swing.JTable; import javax.swing.JToggleButton; import javax.swing.ListSelectionModel; +import javax.swing.Timer; import javax.swing.border.TitledBorder; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; @@ -95,7 +96,6 @@ import net.sf.openrocket.util.TextUtil; import com.itextpdf.text.Font; -// FIXME: Override to zero mass produces NaN in simulation /** * General rocket optimization dialog. @@ -791,6 +791,18 @@ public class GeneralOptimizationDialog extends JDialog { worker = null; stopOptimization(); + + // Disable the start/stop button for a short while after ending the simulation + // to prevent accidentally starting a new optimization when trying to stop it + startButton.setEnabled(false); + Timer timer = new Timer(750, new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + startButton.setEnabled(true); + } + }); + timer.setRepeats(false); + timer.start(); } @Override