Package geomss.app

Class MainWindow

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

    public class MainWindow
    extends javax.swing.JFrame
    Main window for the GeomSS program. Most of the program code is based here.

    Modified by: Joseph A. Huwaldt

    Version:
    January 1, 2024
    Author:
    Joseph A. Huwaldt, Date: May 2, 2009
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.awt.Window

        java.awt.Window.Type
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.BaselineResizeBehavior
    • Field Summary

      • Fields inherited from class java.awt.Frame

        CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
      • Fields inherited from class java.awt.Component

        BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
      • Fields inherited from interface java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
      • Fields inherited from interface javax.swing.WindowConstants

        DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean canWriteFile​(java.io.File theFile)
      Displays a message to the user if a file exists but can not be written to.
      GeomSSScene getScene()  
      void handleChangeCWD​(java.awt.event.ActionEvent event)
      Handle the user choosing "Change Working Directory..." from the File menu.
      void handleClose​(java.awt.event.ActionEvent event)
      Handle the user choosing "Close" from the File menu.
      void handleExportGeom​(GeomReader reader)
      Handle the user choosing to export to a GeomReader.
      void handleImport​(java.awt.event.ActionEvent event)
      Handle the user choosing "Import..." from the File menu.
      MainWindow handleNew​(java.awt.event.ActionEvent event)
      Handle the user choosing the "New..." from the File menu.
      void handleOpen​(java.awt.event.ActionEvent event)
      Handle the user choosing "Open..." from the File menu.
      void handlePageSetup​(java.awt.event.ActionEvent event)
      Handle the user choosing "Page Setup..." from the File menu.
      void handlePrint​(java.awt.event.ActionEvent event)
      Handle the user choosing "Print" from the File menu.
      void handleSave​(java.awt.event.ActionEvent event)
      Handle the user choosing "Save" from the File menu.
      void handleSaveAs​(java.awt.event.ActionEvent event)
      Handle the user choosing "Save As" from the File menu.
      void handleSaveAsJPEG​(java.awt.event.ActionEvent event)
      Handle the user choosing "Save As JPEG..." from the File menu.
      void handleSaveAsPNG​(java.awt.event.ActionEvent event)
      Handle the user choosing "Save As PNG..." from the File menu.
      void handleSrcScript​(java.awt.event.ActionEvent event)
      Handle the user choosing "Source Script..." from the File menu.
      static MainWindow newAppWindow​(java.lang.String name, GeomElement newData)
      Creates, and initializes, a new application window with the specified content.
      static void newWindowFromDataFile​(java.awt.Frame parent, java.io.File theFile)
      Method that reads in the specified file and creates a new window for displaying it's contents.
      void setTitle​(java.lang.String title)
      Sets the title for this frame to the specified string.
      • Methods inherited from class javax.swing.JFrame

        getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setTransferHandler, update
      • Methods inherited from class java.awt.Frame

        addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setUndecorated
      • Methods inherited from class java.awt.Window

        addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate
      • Methods inherited from class java.awt.Component

        action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, dispatchEvent, enable, enable, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.awt.MenuContainer

        getFont, postEvent
    • Method Detail

      • setTitle

        public void setTitle​(java.lang.String title)
        Sets the title for this frame to the specified string. Also notifies the main application class so that the "Windows" menu gets updated too.
        Overrides:
        setTitle in class java.awt.Frame
        Parameters:
        title - The title to be displayed in the frame's border.
      • newAppWindow

        public static MainWindow newAppWindow​(java.lang.String name,
                                              GeomElement newData)
                                       throws java.lang.NoSuchMethodException
        Creates, and initializes, a new application window with the specified content. Effectively creates a new instance of this program.
        Parameters:
        name - The name of this window (usually file name of data file or "Untitled").
        newData - The data set this window contains. If null is passed, an empty/default/new data set is created.
        Returns:
        A new application window with the specified content.
        Throws:
        java.lang.NoSuchMethodException - If there was a problem constructing the window's action listeners.
      • handleNew

        public MainWindow handleNew​(java.awt.event.ActionEvent event)
        Handle the user choosing the "New..." from the File menu. Creates a new, blank, document window.
        Parameters:
        event - The action event that caused this method to be called.
        Returns:
        A new, empty, application window.
      • handleClose

        public void handleClose​(java.awt.event.ActionEvent event)
        Handle the user choosing "Close" from the File menu. This implementation dispatches a "Window Closing" event to this window.
        Parameters:
        event - The action event that caused this method to be called. Ignored.
      • handleOpen

        public void handleOpen​(java.awt.event.ActionEvent event)
        Handle the user choosing "Open..." from the File menu. Lets the user choose a data file and open it.
        Parameters:
        event - The action event that caused this method to be called. Ignored.
      • handleImport

        public void handleImport​(java.awt.event.ActionEvent event)
        Handle the user choosing "Import..." from the File menu. Lets the user choose a data file and open it.
        Parameters:
        event - The action event that caused this method to be called (ignored).
      • newWindowFromDataFile

        public static void newWindowFromDataFile​(java.awt.Frame parent,
                                                 java.io.File theFile)
                                          throws java.lang.NoSuchMethodException
        Method that reads in the specified file and creates a new window for displaying it's contents.
        Parameters:
        parent - Parent frame for dialogs (null is fine).
        theFile - The file to be loaded and displayed. If null is passed, this method will do nothing.
        Throws:
        java.lang.NoSuchMethodException - if there was a problem constructing this window's action listeners.
      • handleSrcScript

        public void handleSrcScript​(java.awt.event.ActionEvent event)
        Handle the user choosing "Source Script..." from the File menu. Lets the user choose a script file and source it.
        Parameters:
        event - The action event that caused this method to be called (ignored).
      • handleSave

        public void handleSave​(java.awt.event.ActionEvent event)
        Handle the user choosing "Save" from the File menu. This saves the model to the last file used. Catches and displays to the user all exceptions.
        Parameters:
        event - The action event that caused this method to be called (ignored).
      • handleSaveAs

        public void handleSaveAs​(java.awt.event.ActionEvent event)
        Handle the user choosing "Save As" from the File menu. This asks the user for input and then saves the model to a file.
        Parameters:
        event - The action event that caused this method to be called (ignored).
      • handleSaveAsPNG

        public void handleSaveAsPNG​(java.awt.event.ActionEvent event)
        Handle the user choosing "Save As PNG..." from the File menu. This asks the user for input and then saves the image to a file.
        Parameters:
        event - The action event that caused this method to be called (ignored).
      • handleSaveAsJPEG

        public void handleSaveAsJPEG​(java.awt.event.ActionEvent event)
        Handle the user choosing "Save As JPEG..." from the File menu. This asks the user for input and then saves the image to a file.
        Parameters:
        event - The action event that caused this method to be called (ignored).
      • canWriteFile

        public boolean canWriteFile​(java.io.File theFile)
        Displays a message to the user if a file exists but can not be written to.
        Parameters:
        theFile - The file to test.
        Returns:
        true if the program can write to the file or false if theFile is null or the file exists but can not be written to.
      • handleExportGeom

        public void handleExportGeom​(GeomReader reader)
        Handle the user choosing to export to a GeomReader. Lets the user choose a data file and open it.
        Parameters:
        reader - The reader to use when exporting geometry.
      • handleChangeCWD

        public void handleChangeCWD​(java.awt.event.ActionEvent event)
        Handle the user choosing "Change Working Directory..." from the File menu. Displays a File selection dialog allowing the user to select the working directory.
        Parameters:
        event - The action event that caused this method to be called (ignored).
      • handlePageSetup

        public void handlePageSetup​(java.awt.event.ActionEvent event)
        Handle the user choosing "Page Setup..." from the File menu. Displays a Page Setup dialog allowing the user to change the page settings.
        Parameters:
        event - The action event that caused this method to be called (ignored).
      • handlePrint

        public void handlePrint​(java.awt.event.ActionEvent event)
        Handle the user choosing "Print" from the File menu. Prints the currently displayed plot.
        Parameters:
        event - The action event that caused this method to be called (ignored).