gui
Class MainWindow

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Window
              extended byjava.awt.Frame
                  extended byjavax.swing.JFrame
                      extended bygui.MainWindow
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public class MainWindow
extends javax.swing.JFrame

Defines the MainWindow, this is the first window presented to the user. In the MainWindow, the user can choose what to do and see how far the current process have come.

Author:
Mikael Jönsson & Per Klingnäs
See Also:
Serialized Form

Nested Class Summary
(package private)  class MainWindow.ActionHandler
          Listener for buttons and menu items.
(package private)  class MainWindow.MouseHandler
          MouseListener used to detect on which column header the user clicks, to sort the table after that column.
 
Nested classes inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  java.lang.String[] colName1
           
private  java.lang.String[] colName2
           
private  java.awt.Container contentPane
           
private  javax.swing.JMenuItem helpMenuItem
           
private  javax.swing.JButton importButton
           
private  javax.swing.JTable importedTable
           
private  int[] importedTableColumnWidth
           
private  javax.swing.JMenuItem importMenuItem
           
private  javax.swing.JScrollPane importScrollPane
           
private  ImportWindow iw
           
private  javax.swing.JPanel left
           
private  javax.swing.JPanel middle
           
private  Rainbowie p
           
private  javax.swing.JLabel prioLabel
           
private  javax.swing.JScrollPane prioScrollPane
           
private  javax.swing.JTable prioTable
           
private  int[] prioTableColumnWidth
           
private  javax.swing.JButton quitButton
           
private  javax.swing.JMenuItem quitMenuItem
           
private  javax.swing.JButton reprioButton
           
private  javax.swing.JMenuItem reprioMenuItem
           
private  javax.swing.JPanel right
           
private  javax.swing.JButton rootButton
           
private  javax.swing.JMenuItem rootMenuItem
           
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
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.Window
 
Fields inherited from class java.awt.Container
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
MainWindow(Rainbowie p)
          Constructs the MainWindow
 
Method Summary
private  void addPaddingToTable(javax.swing.JTable table, int rows, int cols)
          Add empty rows at the end of a table if rows > JTable.getRowCount()
 void paint(java.awt.Graphics g)
          Makes sure that the window size and column widths are adjusted before the super-class call to JFrame.paint(Graphics g) is done
private  void saveColumnWidths()
          Saves the column widths to preserve the column dimensions when sorting the tables.
private  void setColumnWidth(javax.swing.JTable table)
          Sets the column width of a table.
 void setImportedTable(RequirementList rList)
          Assigns the values to the cells in importedTable
 void setPrioTable(RequirementList rList)
          Assigns the values to the cells in prioTable
private  void setWindowSize()
          Sets the size of the window.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, 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, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, transferFocusBackward, 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, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, 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, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

colName1

private java.lang.String[] colName1

colName2

private java.lang.String[] colName2

importedTableColumnWidth

private int[] importedTableColumnWidth

prioTableColumnWidth

private int[] prioTableColumnWidth

contentPane

private java.awt.Container contentPane

iw

private ImportWindow iw

p

private Rainbowie p

importButton

private javax.swing.JButton importButton

reprioButton

private javax.swing.JButton reprioButton

rootButton

private javax.swing.JButton rootButton

quitButton

private javax.swing.JButton quitButton

importedTable

private javax.swing.JTable importedTable

prioTable

private javax.swing.JTable prioTable

importScrollPane

private javax.swing.JScrollPane importScrollPane

prioScrollPane

private javax.swing.JScrollPane prioScrollPane

left

private javax.swing.JPanel left

middle

private javax.swing.JPanel middle

right

private javax.swing.JPanel right

prioLabel

private javax.swing.JLabel prioLabel

quitMenuItem

private javax.swing.JMenuItem quitMenuItem

importMenuItem

private javax.swing.JMenuItem importMenuItem

reprioMenuItem

private javax.swing.JMenuItem reprioMenuItem

rootMenuItem

private javax.swing.JMenuItem rootMenuItem

helpMenuItem

private javax.swing.JMenuItem helpMenuItem
Constructor Detail

MainWindow

public MainWindow(Rainbowie p)
Constructs the MainWindow

Parameters:
p - reference to the programs Parseq object
Method Detail

addPaddingToTable

private void addPaddingToTable(javax.swing.JTable table,
                               int rows,
                               int cols)
Add empty rows at the end of a table if rows > JTable.getRowCount()

Parameters:
table - - Table to be padded with rows
rows - - Total number of rows after padding
cols - - number of coloums in added rows

setColumnWidth

private void setColumnWidth(javax.swing.JTable table)
Sets the column width of a table.

Parameters:
table - the JTable to set the width for

saveColumnWidths

private void saveColumnWidths()
Saves the column widths to preserve the column dimensions when sorting the tables.


setWindowSize

private void setWindowSize()
Sets the size of the window. Used for fixing a resizing problem.


paint

public void paint(java.awt.Graphics g)
Makes sure that the window size and column widths are adjusted before the super-class call to JFrame.paint(Graphics g) is done


setImportedTable

public void setImportedTable(RequirementList rList)
Assigns the values to the cells in importedTable

Parameters:
rList - the list to fetch the values from

setPrioTable

public void setPrioTable(RequirementList rList)
Assigns the values to the cells in prioTable

Parameters:
rList - the list to fetch the values from