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
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JFrame

        javax.swing.JFrame.AccessibleJFrame
      • Nested classes/interfaces inherited from class java.awt.Frame

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

        java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Constructor Summary

      Constructors 
      Constructor Description
      MainWindow()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void clearCurrentThread()  
      private javax.swing.JMenuBar createMenuBar​(java.awt.event.ActionListener openMapActionListener)  
      private javax.swing.JPanel createStatusBar()  
      private void drawGraph()  
      private void drawGraph​(java.lang.Class<? extends Drawing> newClass)  
      private void drawGraph​(java.lang.Class<? extends Drawing> newClass, GraphPalette palette)
      Draw the stored graph on the drawing.
      private void enableAlgorithmPanel​(AlgorithmPanel algorithmPanel)
      Show and enable the given AlgorithmPanel (and hide all others).
      private void launchThread​(java.lang.Runnable runnable)  
      private void launchThread​(java.lang.Runnable runnable, boolean canInterrupt)  
      private void loadGraph​(GraphReader reader)  
      static void main​(java.lang.String[] args)  
      private void notifyDrawingLoaded​(Drawing oldDrawing, Drawing newDrawing)
      Notify all listeners that a new drawing has been set up.
      private void notifyNewGraphLoaded()
      Notify all listeners that a new graph has been loaded.
      private void notifyRedrawRequest()
      Notify all listeners that a redraw request is emitted.
      • Methods inherited from class javax.swing.JFrame

        addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, 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, setTitle, 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, processEvent, processWindowFocusEvent, processWindowStateEvent, 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, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
      • Methods inherited from class java.awt.Component

        action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, 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, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, 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

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

        getFont, postEvent
    • Field Detail

      • graph

        protected Graph graph
      • graphFilePath

        private java.lang.String graphFilePath
      • drawing

        protected Drawing drawing
      • blackAndWhitePalette

        private final GraphPalette blackAndWhitePalette
      • mainPanel

        private final javax.swing.JSplitPane mainPanel
      • graphLockItems

        private final java.util.ArrayList<javax.swing.JMenuItem> graphLockItems
      • graphInfoPanel

        private javax.swing.JLabel graphInfoPanel
      • threadTimer

        private javax.swing.Timer threadTimer
      • threadPanel

        private javax.swing.JPanel threadPanel
      • printStream

        private java.io.PrintStream printStream
    • Constructor Detail

      • MainWindow

        public MainWindow()
    • Method Detail

      • launchThread

        private void launchThread​(java.lang.Runnable runnable,
                                  boolean canInterrupt)
        Parameters:
        runnable -
        canInterrupt -
      • launchThread

        private void launchThread​(java.lang.Runnable runnable)
      • clearCurrentThread

        protected void clearCurrentThread()
      • notifyNewGraphLoaded

        private void notifyNewGraphLoaded()
        Notify all listeners that a new graph has been loaded.
      • notifyDrawingLoaded

        private void notifyDrawingLoaded​(Drawing oldDrawing,
                                         Drawing newDrawing)
        Notify all listeners that a new drawing has been set up.
        Parameters:
        oldDrawing -
        newDrawing -
      • notifyRedrawRequest

        private void notifyRedrawRequest()
        Notify all listeners that a redraw request is emitted.
      • drawGraph

        private void drawGraph​(java.lang.Class<? extends Drawing> newClass,
                               GraphPalette palette)
        Draw the stored graph on the drawing.
      • drawGraph

        private void drawGraph​(java.lang.Class<? extends Drawing> newClass)
        Parameters:
        newClass -
      • drawGraph

        private void drawGraph()
      • loadGraph

        private void loadGraph​(GraphReader reader)
      • enableAlgorithmPanel

        private void enableAlgorithmPanel​(AlgorithmPanel algorithmPanel)
        Show and enable the given AlgorithmPanel (and hide all others).
        Parameters:
        algorithmPanel -
      • createMenuBar

        private javax.swing.JMenuBar createMenuBar​(java.awt.event.ActionListener openMapActionListener)
      • createStatusBar

        private javax.swing.JPanel createStatusBar()
      • main

        public static void main​(java.lang.String[] args)