Package org.insa.graphs.gui
Class MainWindow
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Frame
-
- javax.swing.JFrame
-
- org.insa.graphs.gui.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.Window
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
-
-
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
-
-
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
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
WINDOW_TITLE
private static final java.lang.String WINDOW_TITLE
- See Also:
- Constant Field Values
-
THREAD_TIMER_DELAY
private static final int THREAD_TIMER_DELAY
- See Also:
- Constant Field Values
-
graph
protected Graph graph
-
graphFilePath
private java.lang.String graphFilePath
-
drawing
protected Drawing drawing
-
mapViewDrawing
private final MapViewDrawing mapViewDrawing
-
basicDrawing
private final BasicDrawing basicDrawing
-
basicPalette
private final GraphPalette basicPalette
-
blackAndWhitePalette
private final GraphPalette blackAndWhitePalette
-
currentPalette
private GraphPalette currentPalette
-
mainPanel
private final javax.swing.JSplitPane mainPanel
-
algoPanels
private final java.util.List<AlgorithmPanel> algoPanels
-
wccPanel
private final AlgorithmPanel wccPanel
-
spPanel
private final AlgorithmPanel spPanel
-
cpPanel
private final AlgorithmPanel cpPanel
-
psPanel
private final AlgorithmPanel psPanel
-
pathPanel
private final PathsPanel pathPanel
-
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
-
logStream
private StreamCapturer logStream
-
printStream
private java.io.PrintStream printStream
-
currentThread
private ThreadWrapper currentThread
-
baf
private BlockingActionFactory baf
-
drawingChangeListeners
private java.util.List<DrawingChangeListener> drawingChangeListeners
-
graphChangeListeneres
private java.util.List<GraphChangeListener> graphChangeListeneres
-
-
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)
-
-