windows
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 bywindows.MainWindow
All Implemented Interfaces:
Accessible, ActionListener, EventListener, ImageObserver, MenuContainer, RootPaneContainer, Serializable, WindowConstants

public class MainWindow
extends JFrame
implements ActionListener

The MainWindow holds a JTable table and displays it on the whole viewport area of a JScrollPane object. Tables can be loaded or saved through FileChooser. The Menu JMenu allows to launch different computing functions on the table, including sorting, filtering and adding new computed columns. It aims at facilitating visual understanding of DNA analysis tables, by providing dynamic tools to do multi-filtering operations.

Author:
Etienne Fort
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JFrame
JFrame.AccessibleJFrame
 
Nested classes inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
 
Nested classes inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Nested classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  TableModel dataTable
           
protected  String fileName
           
(package private) static String stClose
           
(package private) static String stFile
           
(package private) static String stGraphs
           
(package private) static String stNewColumn
           
(package private) static String stOpen
           
(package private) static String stPotatoes
           
(package private) static String stQuit
           
(package private) static String stSave
           
(package private) static String stSaveAs
           
(package private) static String stTitle
           
(package private) static String stTools
           
protected  JTable tableDisplay
           
private  TableSorter tableSorted
           
 
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()
          Creates a new MainWindow with an empty table.
MainWindow(TableModel table, FilterParam[] params)
          Creates a new MainWindow with the given table.
 
Method Summary
 void actionPerformed(ActionEvent e)
          Dispatches action events received from the menu by calling the appropriate functions.
protected  String computeParamsTitle(String init, FilterParam[] params, String oldTitle)
           
private static void createAndShowGUI()
          Creates the GUI and shows it.
protected  void createMenu()
           
 void fileOpen()
          Opens the file at CSV format chosen in a prompt dialog box and displays its contents in a table.
 void fileSave()
          Saves the table in the file fileName at CSV format.
static void main(String[] args)
          Comment is needless.
 void openDiagramWindow()
          Opens the diagram window corresponding to the table displayed in this window.
 boolean openFileDialog(String approveButtonText)
          Opens a dialog box to choose a filename
 void openGraphWindow()
          Opens the windows displaying the graphs.
 void openNewColumnDialog()
          Opens a dialog box to add a new computed column.
static void showNewTableWindow(String title, TableModel table, FilterParam[] params)
          Creates a new window from the table TableModel.
 
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, paint, 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

stClose

static final String stClose
See Also:
Constant Field Values

stFile

static final String stFile
See Also:
Constant Field Values

stGraphs

static final String stGraphs
See Also:
Constant Field Values

stNewColumn

static final String stNewColumn
See Also:
Constant Field Values

stOpen

static final String stOpen
See Also:
Constant Field Values

stTools

static final String stTools
See Also:
Constant Field Values

stPotatoes

static final String stPotatoes
See Also:
Constant Field Values

stQuit

static final String stQuit
See Also:
Constant Field Values

stSave

static final String stSave
See Also:
Constant Field Values

stSaveAs

static final String stSaveAs
See Also:
Constant Field Values

stTitle

static final String stTitle
See Also:
Constant Field Values

fileName

protected String fileName

dataTable

protected TableModel dataTable

tableDisplay

protected JTable tableDisplay

tableSorted

private TableSorter tableSorted
Constructor Detail

MainWindow

public MainWindow()
Creates a new MainWindow with an empty table.


MainWindow

public MainWindow(TableModel table,
                  FilterParam[] params)
Creates a new MainWindow with the given table.

Parameters:
table - the table to be displayed.
params - the params of filtering (if any) in order to display the righ title.
Method Detail

createAndShowGUI

private static void createAndShowGUI()
Creates the GUI and shows it. For thread safety, this method should be invoked from the event-dispatching thread.


main

public static void main(String[] args)
Comment is needless.


showNewTableWindow

public static void showNewTableWindow(String title,
                                      TableModel table,
                                      FilterParam[] params)
Creates a new window from the table TableModel.

Parameters:
title - the title of the window.
table - the table which is to be displayed through the window.

computeParamsTitle

protected String computeParamsTitle(String init,
                                    FilterParam[] params,
                                    String oldTitle)
Returns:
a frame title corresponding to the parameters

actionPerformed

public void actionPerformed(ActionEvent e)
Dispatches action events received from the menu by calling the appropriate functions.

Specified by:
actionPerformed in interface ActionListener
See Also:
ActionListener.actionPerformed(java.awt.event.ActionEvent)

createMenu

protected void createMenu()

fileOpen

public void fileOpen()
Opens the file at CSV format chosen in a prompt dialog box and displays its contents in a table.


fileSave

public void fileSave()
Saves the table in the file fileName at CSV format.


openDiagramWindow

public void openDiagramWindow()
Opens the diagram window corresponding to the table displayed in this window.


openFileDialog

public boolean openFileDialog(String approveButtonText)
Opens a dialog box to choose a filename

Returns:
true if the file has changed, false otherwise

openGraphWindow

public void openGraphWindow()
Opens the windows displaying the graphs.


openNewColumnDialog

public void openNewColumnDialog()
Opens a dialog box to add a new computed column.