gui
Class ImprovementsWindow

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.ImprovementsWindow
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public class ImprovementsWindow
extends javax.swing.JFrame

Defines an ImprovementWindow where root-causes and improvement suggestions are compiled.

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

Nested Class Summary
(package private)  class ImprovementsWindow.ActionHandler
          ActionListener to handle user interaction.
(package private)  class ImprovementsWindow.AdjustmentHandler
          Synchronizes scrolling of the right table with scrolling in the left table
(package private)  class ImprovementsWindow.MouseHandler
          MouseListener to handle user interaction
(package private)  class ImprovementsWindow.ReqTableCellRenderer
          TableCellRenderer to set color marking and cell selection of the requirement table
(package private)  class ImprovementsWindow.RequirementsTableModel
          DefaultTableModel used to define desired behaviour of the root cause table
(package private)  class ImprovementsWindow.RootCauseTableModel
          DefaultTableModel used to define desired behaviour of the root cause table
 
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  javax.swing.JButton addRowButton
           
private  javax.swing.JMenuItem addRowMenuItem
           
private  ImprovementsWindow.AdjustmentHandler adjh
           
private  ImprovementsWindow.ActionHandler ah
           
private  javax.swing.JPanel center
           
private  javax.swing.JButton closeButton
           
private  javax.swing.JMenuItem closeMenuItem
           
private  java.awt.Container contentPane
           
private  javax.swing.JButton exportButton
           
private  javax.swing.JMenuItem exportMenuItem
           
private  GraphWindow gw
           
private  javax.swing.JMenuItem helpMenuItem
           
private  ImprovementsWindow.MouseHandler mh
           
private  javax.swing.JPanel north
           
private  Rainbowie p
           
private  javax.swing.JButton removeButton
           
private  javax.swing.JMenuItem removeMenuItem
           
private  javax.swing.JScrollPane requirementsScrollPane
           
private  javax.swing.JTable requirementsTable
           
private  javax.swing.table.DefaultTableModel requirementsTableModel
           
private  javax.swing.JScrollPane rootCauseScrollPane
           
private  javax.swing.JTable rootCauseTable
           
private  ImprovementsWindow.RootCauseTableModel rootCauseTableModel
           
private  ImprovementsWindow.ReqTableCellRenderer rtcr
           
private  javax.swing.JPanel south
           
 
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
ImprovementsWindow(Rainbowie p, GraphWindow gw, int windowNbr)
          Constructs an ImprovementWindow
 
Method Summary
private  void acceptEdit()
          Accepts changes in a cell without having to press enter
 void addReq(Requirement r)
          Add a requirement column to the requirement table (right part of the table)
private  void init()
          Initializes the graphical user interface
 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
 void removeColumnAndData(javax.swing.JTable table, int vColIndex)
          Removes the specified column from the table and the associated data from the table model
private  void setColumnWidth(javax.swing.JTable table, boolean rootCause)
          Sets the column widths for the current table
private  void setWindowSize()
          Set the sizes of the scrollpanes due to the number of added requirement columns
 
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

adjh

private ImprovementsWindow.AdjustmentHandler adjh

ah

private ImprovementsWindow.ActionHandler ah

mh

private ImprovementsWindow.MouseHandler mh

center

private javax.swing.JPanel center

south

private javax.swing.JPanel south

north

private javax.swing.JPanel north

contentPane

private java.awt.Container contentPane

gw

private GraphWindow gw

exportButton

private javax.swing.JButton exportButton

closeButton

private javax.swing.JButton closeButton

removeButton

private javax.swing.JButton removeButton

addRowButton

private javax.swing.JButton addRowButton

exportMenuItem

private javax.swing.JMenuItem exportMenuItem

closeMenuItem

private javax.swing.JMenuItem closeMenuItem

addRowMenuItem

private javax.swing.JMenuItem addRowMenuItem

removeMenuItem

private javax.swing.JMenuItem removeMenuItem

helpMenuItem

private javax.swing.JMenuItem helpMenuItem

p

private Rainbowie p

requirementsTableModel

private javax.swing.table.DefaultTableModel requirementsTableModel

rootCauseScrollPane

private javax.swing.JScrollPane rootCauseScrollPane

requirementsScrollPane

private javax.swing.JScrollPane requirementsScrollPane

rootCauseTable

private javax.swing.JTable rootCauseTable

requirementsTable

private javax.swing.JTable requirementsTable

rootCauseTableModel

private ImprovementsWindow.RootCauseTableModel rootCauseTableModel

rtcr

private ImprovementsWindow.ReqTableCellRenderer rtcr
Constructor Detail

ImprovementsWindow

public ImprovementsWindow(Rainbowie p,
                          GraphWindow gw,
                          int windowNbr)
Constructs an ImprovementWindow

Parameters:
p - reference to the programs Parseq object
gw - reference to the GraphWindow
windowNbr - Window identifier that shows which graph this window belong to
Method Detail

init

private void init()
Initializes the graphical user interface


acceptEdit

private void acceptEdit()
Accepts changes in a cell without having to press enter


setColumnWidth

private void setColumnWidth(javax.swing.JTable table,
                            boolean rootCause)
Sets the column widths for the current table

Parameters:
table - the table which shall be adusted
rootCause - true if the current table is the root-cause table (left part), false if the current table is the requirements table (right part).

setWindowSize

private void setWindowSize()
Set the sizes of the scrollpanes due to the number of added requirement columns


addReq

public void addReq(Requirement r)
Add a requirement column to the requirement table (right part of the table)

Parameters:
r - the requirement to add

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


removeColumnAndData

public void removeColumnAndData(javax.swing.JTable table,
                                int vColIndex)
Removes the specified column from the table and the associated data from the table model

Parameters:
table - the table where the column shall be removed
vColIndex - the index of the column to remove