diff --git a/swing/src/net/sf/openrocket/gui/main/BasicFrame.java b/swing/src/net/sf/openrocket/gui/main/BasicFrame.java index ac33f9baa..d88b599a4 100644 --- a/swing/src/net/sf/openrocket/gui/main/BasicFrame.java +++ b/swing/src/net/sf/openrocket/gui/main/BasicFrame.java @@ -1,49 +1,17 @@ package net.sf.openrocket.gui.main; -import net.miginfocom.swing.MigLayout; -import net.sf.openrocket.aerodynamics.WarningSet; -import net.sf.openrocket.appearance.DecalImage; -import net.sf.openrocket.document.OpenRocketDocument; -import net.sf.openrocket.document.OpenRocketDocumentFactory; -import net.sf.openrocket.document.StorageOptions; -import net.sf.openrocket.document.StorageOptions.FileType; -import net.sf.openrocket.file.GeneralRocketSaver; -import net.sf.openrocket.file.RocketLoadException; -import net.sf.openrocket.gui.components.StyledLabel; -import net.sf.openrocket.gui.configdialog.ComponentConfigDialog; -import net.sf.openrocket.gui.customexpression.CustomExpressionDialog; -import net.sf.openrocket.gui.dialogs.*; -import net.sf.openrocket.gui.dialogs.optimization.GeneralOptimizationDialog; -import net.sf.openrocket.gui.dialogs.preferences.PreferencesDialog; -import net.sf.openrocket.gui.figure3d.photo.PhotoFrame; -import net.sf.openrocket.gui.help.tours.GuidedTourSelectionDialog; -import net.sf.openrocket.gui.main.componenttree.ComponentTree; -import net.sf.openrocket.gui.main.flightconfigpanel.FlightConfigurationPanel; -import net.sf.openrocket.gui.scalefigure.RocketPanel; -import net.sf.openrocket.gui.util.*; -import net.sf.openrocket.gui.widgets.SelectColorButton; -import net.sf.openrocket.l10n.Translator; -import net.sf.openrocket.logging.Markers; -import net.sf.openrocket.rocketcomponent.*; -import net.sf.openrocket.startup.Application; -import net.sf.openrocket.startup.Preferences; -import net.sf.openrocket.util.*; -import net.sf.openrocket.util.MemoryManagement.MemoryData; -import net.sf.openrocket.utils.ComponentPresetEditor; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import javax.swing.*; -import javax.swing.border.BevelBorder; -import javax.swing.border.TitledBorder; -import javax.swing.event.ChangeEvent; -import javax.swing.event.TreeSelectionEvent; -import javax.swing.event.TreeSelectionListener; -import javax.swing.tree.DefaultTreeSelectionModel; -import javax.swing.tree.TreePath; -import javax.swing.tree.TreeSelectionModel; -import java.awt.*; -import java.awt.event.*; +import java.awt.Dimension; +import java.awt.Font; +import java.awt.Toolkit; +import java.awt.Window; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.KeyEvent; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; @@ -53,10 +21,103 @@ import java.net.URISyntaxException; import java.net.URL; import java.net.URLDecoder; import java.util.ArrayList; +import java.util.Arrays; +import java.util.EventObject; +import java.util.LinkedList; import java.util.List; -import java.util.*; import java.util.concurrent.ExecutionException; +import javax.swing.Action; +import javax.swing.BorderFactory; +import javax.swing.InputMap; +import javax.swing.JButton; +import javax.swing.JCheckBox; +import javax.swing.JComponent; +import javax.swing.JDialog; +import javax.swing.JFileChooser; +import javax.swing.JFrame; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JPopupMenu; +import javax.swing.JScrollPane; +import javax.swing.JSpinner; +import javax.swing.JSplitPane; +import javax.swing.JTabbedPane; +import javax.swing.JTextField; +import javax.swing.KeyStroke; +import javax.swing.ListSelectionModel; +import javax.swing.ScrollPaneConstants; +import javax.swing.SwingUtilities; +import javax.swing.border.BevelBorder; +import javax.swing.border.TitledBorder; +import javax.swing.event.ChangeEvent; +import javax.swing.event.TreeSelectionEvent; +import javax.swing.event.TreeSelectionListener; +import javax.swing.tree.DefaultTreeSelectionModel; +import javax.swing.tree.TreePath; +import javax.swing.tree.TreeSelectionModel; + +import net.sf.openrocket.appearance.DecalImage; +import net.sf.openrocket.gui.dialogs.DecalNotFoundDialog; +import net.sf.openrocket.gui.widgets.SelectColorButton; +import net.sf.openrocket.rocketcomponent.AxialStage; +import net.sf.openrocket.util.DecalNotFoundException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import net.miginfocom.swing.MigLayout; +import net.sf.openrocket.aerodynamics.WarningSet; +import net.sf.openrocket.document.OpenRocketDocument; +import net.sf.openrocket.document.OpenRocketDocumentFactory; +import net.sf.openrocket.document.StorageOptions; +import net.sf.openrocket.document.StorageOptions.FileType; +import net.sf.openrocket.file.GeneralRocketSaver; +import net.sf.openrocket.file.RocketLoadException; +import net.sf.openrocket.gui.components.StyledLabel; +import net.sf.openrocket.gui.configdialog.ComponentConfigDialog; +import net.sf.openrocket.gui.customexpression.CustomExpressionDialog; +import net.sf.openrocket.gui.dialogs.AboutDialog; +import net.sf.openrocket.gui.dialogs.BugReportDialog; +import net.sf.openrocket.gui.dialogs.ComponentAnalysisDialog; +import net.sf.openrocket.gui.dialogs.DebugLogDialog; +import net.sf.openrocket.gui.dialogs.DetailDialog; +import net.sf.openrocket.gui.dialogs.LicenseDialog; +import net.sf.openrocket.gui.dialogs.PrintDialog; +import net.sf.openrocket.gui.dialogs.ScaleDialog; +import net.sf.openrocket.gui.dialogs.SwingWorkerDialog; +import net.sf.openrocket.gui.dialogs.WarningDialog; +import net.sf.openrocket.gui.dialogs.optimization.GeneralOptimizationDialog; +import net.sf.openrocket.gui.dialogs.preferences.PreferencesDialog; +import net.sf.openrocket.gui.figure3d.photo.PhotoFrame; +import net.sf.openrocket.gui.help.tours.GuidedTourSelectionDialog; +import net.sf.openrocket.gui.main.componenttree.ComponentTree; +import net.sf.openrocket.gui.main.flightconfigpanel.FlightConfigurationPanel; +import net.sf.openrocket.gui.scalefigure.RocketPanel; +import net.sf.openrocket.gui.util.FileHelper; +import net.sf.openrocket.gui.util.GUIUtil; +import net.sf.openrocket.gui.util.Icons; +import net.sf.openrocket.gui.util.OpenFileWorker; +import net.sf.openrocket.gui.util.SaveFileWorker; +import net.sf.openrocket.gui.util.SwingPreferences; +import net.sf.openrocket.l10n.Translator; +import net.sf.openrocket.logging.Markers; +import net.sf.openrocket.rocketcomponent.ComponentChangeEvent; +import net.sf.openrocket.rocketcomponent.ComponentChangeListener; +import net.sf.openrocket.rocketcomponent.Rocket; +import net.sf.openrocket.rocketcomponent.RocketComponent; +import net.sf.openrocket.startup.Application; +import net.sf.openrocket.startup.Preferences; +import net.sf.openrocket.util.BugException; +import net.sf.openrocket.util.MemoryManagement; +import net.sf.openrocket.util.MemoryManagement.MemoryData; +import net.sf.openrocket.util.Reflection; +import net.sf.openrocket.util.StateChangeListener; +import net.sf.openrocket.util.TestRockets; +import net.sf.openrocket.utils.ComponentPresetEditor; + public class BasicFrame extends JFrame { private static final long serialVersionUID = 948877655223365313L;