de.unihalle.informatik.Alida.dataio.provider.swing.components
Class ALDTableWindow

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by de.unihalle.informatik.Alida.dataio.provider.swing.components.ALDTableWindow
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class ALDTableWindow
extends javax.swing.JFrame
implements java.awt.event.ActionListener

GUI window for displaying tables in Alida.

Optionally an object, e.g. a 2D array, can be linked to the table. If this is done on saving the table the history of the object is saved together with the table. However, note that if the contents of the table are modified, the object is not updated.

Author:
moeller
See Also:
Serialized Form

Nested Class Summary
protected  class ALDTableWindow.DataTabFileFilter
          Internal class that realizes a FileFilter for text files where MiToBo table data is stored.
protected  class ALDTableWindow.TableConfigWindow
          Window class for configuring the table appearance and export.
static class ALDTableWindow.TableModelDelimiter
          Delimiters available when writing a model to a string or file.
 
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
 
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
 
Field Summary
protected  javax.swing.JTable dataTab
          Data table (swing tables are nicer than imageJ tables).
protected  javax.swing.table.DefaultTableModel dataTabModel
          Reference object to the data.
protected  java.io.File lastDir
          For convenience: always open last directory for saving.
protected  java.lang.Object linkedDataObject
          Optional data object linked to the table model.
protected  ALDTableWindow.TableConfigWindow optionsWindow
          Window for configuration of table options.
protected  boolean saveHeaders
          Flag to indicate if headers should be saved to file.
 
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.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
ALDTableWindow(javax.swing.table.DefaultTableModel mtm)
          Default constructor.
ALDTableWindow(javax.swing.table.DefaultTableModel mtm, java.lang.Object obj)
          Default constructor.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
 void closeWindow()
          Closes the GUI table window.
 void openWindow()
          Shows the table window in graphical environment.
 void saveTable()
          Saves the contents of the table to a user-specified file.
 void setSaveHeaders(boolean b)
          Function to enable/disable saving of headers to file.
protected  void setupResultTable()
          Initializes the data table window.
static java.lang.StringBuffer[] tableToString(javax.swing.table.DefaultTableModel model)
          Converts the contents of the table to a string array in CSV format (suitable for import in Excel).
static java.lang.StringBuffer[] tableToString(javax.swing.table.DefaultTableModel model, java.lang.String delimString)
          Converts the contents of the table to a string array in CSV format (suitable for import in Excel).
 
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, setCursor, setExtendedState, 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, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, 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, 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, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, 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, isMaximumSizeSet, isMinimumSizeSet, isOpaque, 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, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, 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

dataTab

protected javax.swing.JTable dataTab
Data table (swing tables are nicer than imageJ tables).


dataTabModel

protected javax.swing.table.DefaultTableModel dataTabModel
Reference object to the data.


linkedDataObject

protected java.lang.Object linkedDataObject
Optional data object linked to the table model.


lastDir

protected java.io.File lastDir
For convenience: always open last directory for saving.


saveHeaders

protected boolean saveHeaders
Flag to indicate if headers should be saved to file.


optionsWindow

protected ALDTableWindow.TableConfigWindow optionsWindow
Window for configuration of table options.

Constructor Detail

ALDTableWindow

public ALDTableWindow(javax.swing.table.DefaultTableModel mtm)
Default constructor.

Parameters:
mtm - Associated table model.

ALDTableWindow

public ALDTableWindow(javax.swing.table.DefaultTableModel mtm,
                      java.lang.Object obj)
Default constructor.

Parameters:
mtm - Associated table model.
obj - Optional object underlying the table model.
Method Detail

openWindow

public void openWindow()
Shows the table window in graphical environment.


closeWindow

public void closeWindow()
Closes the GUI table window.

Attention, if you do not store a reference to the window, it cannot be opened again!


setSaveHeaders

public void setSaveHeaders(boolean b)
Function to enable/disable saving of headers to file. By default headers are saved also.

Parameters:
b - If false, headers are ignored on saving data to file.

saveTable

public void saveTable()
Saves the contents of the table to a user-specified file.

The file format is TSV, i.e. tabulator-separated values. The default ending is '.txt'. The user can select the file name through a file open dialog which pops-up on call of the function.


actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Specified by:
actionPerformed in interface java.awt.event.ActionListener

setupResultTable

protected void setupResultTable()
Initializes the data table window.


tableToString

public static java.lang.StringBuffer[] tableToString(javax.swing.table.DefaultTableModel model,
                                                     java.lang.String delimString)
Converts the contents of the table to a string array in CSV format (suitable for import in Excel).

Returns:
Array with contents of table (arranged line-wise).

tableToString

public static java.lang.StringBuffer[] tableToString(javax.swing.table.DefaultTableModel model)
Converts the contents of the table to a string array in CSV format (suitable for import in Excel).

As column delimiter tabulators are used.

Returns:
Array with contents of table (arranged line-wise).


Copyright © 2010-2014 Martin Luther University Halle-Wittenberg. All Rights Reserved.