Package geomss.app
Class MainWindow
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Frame
-
- javax.swing.JFrame
-
- geomss.app.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
-
-
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
-
-
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
-
-
-
-
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 classjava.awt.Frame
- Parameters:
title
- The title to be displayed in the frame's border.
-
getScene
public GeomSSScene getScene()
-
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 orfalse
if theFile isnull
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).
-
-