net.aerith.misao.gui
Class FileOperationTable

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JTable
                          |
                          +--net.aerith.misao.gui.table.SortableTable
                                |
                                +--net.aerith.misao.gui.FileOperationTable
Direct Known Subclasses:
HtmlImageGalleryTable, ImageConversionTable, InformationTable, InstructionTable

public class FileOperationTable
extends SortableTable
implements MultiTaskConductor

The FileOperationTable represents a table where the files are added to operate an operation. It shows the status of the files and the progress of the operation.

See Also:
Serialized Form

Inner Class Summary
protected  class FileOperationTable.DefaultFileDropTargetListener
          The DefaultFileDropTargetListener is a listener class of drop event from native filer application.
protected  class FileOperationTable.DeleteListener
          The DeleteListener is a listener class of menu selection to delete selected rows.
protected  class FileOperationTable.PollingThread
          The PollingThread is a thread to poll files and update the status column.
protected  class FileOperationTable.StatusRenderer
          The StatusRenderer is a renderer for the status column.
protected  class FileOperationTable.TableRecord
          The TableRecord is a record of a file and the status.
 
Inner classes inherited from class net.aerith.misao.gui.table.SortableTable
SortableTable.StringRenderer, SortableTable.TableHeader
 
Inner classes inherited from class javax.swing.JTable
javax.swing.JTable.AccessibleJTable
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent, javax.swing.JComponent.IntVector, javax.swing.JComponent.KeyboardBinding, javax.swing.JComponent.KeyboardState
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AWTTreeLock
 
Field Summary
protected  javax.swing.table.DefaultTableColumnModel column_model
          The table column model.
protected  java.awt.dnd.DropTarget dt
          The drop target.
protected static int minimum_rows
          The minimum number of rows.
protected  int mode
          The mode.
protected static int MODE_OPERATING
          The mode number which indicates in operating phase.
protected static int MODE_SETTING
          The mode number which indicates in setting phase.
protected  javax.swing.table.DefaultTableModel model
          The table model.
protected  java.awt.Container pane
          The content pane of this frame.
protected  javax.swing.JPopupMenu popup
          The popup menu.
protected  java.util.Vector record_list
          The list of file records.
 
Fields inherited from class net.aerith.misao.gui.table.SortableTable
index, SORT_ASCENDING, SORT_DESCENDING, sorting_column, sorting_direction
 
Fields inherited from class javax.swing.JTable
AUTO_RESIZE_ALL_COLUMNS, AUTO_RESIZE_LAST_COLUMN, AUTO_RESIZE_NEXT_COLUMN, AUTO_RESIZE_OFF, AUTO_RESIZE_SUBSEQUENT_COLUMNS, autoCreateColumnsFromModel, autoResizeMode, cellEditor, cellSelectionEnabled, columnModel, dataModel, defaultEditorsByColumnClass, defaultRenderersByColumnClass, editingColumn, editingRow, editorComp, gridColor, preferredViewportSize, rowHeight, rowMargin, rowSelectionAllowed, selectionBackground, selectionForeground, selectionModel, showHorizontalLines, showVerticalLines, tableHeader, uiClassID
 
Fields inherited from class javax.swing.JComponent
_bounds, accessibleContext, alignmentX, alignmentY, ANCESTOR_USING_BUFFER, ancestorNotifier, autoscroller, border, changeSupport, clientProperties, flags, HAS_FOCUS, IS_DOUBLE_BUFFERED, IS_OPAQUE, IS_PAINTING_TILE, KEYBOARD_BINDINGS_KEY, listenerList, maximumSize, minimumSize, NEXT_FOCUS, paintImmediatelyClip, paintingChild, preferredSize, readObjectCallbacks, REQUEST_FOCUS_DISABLED, tmpRect, TOOL_TIP_TEXT_KEY, ui, uiClassID, UNDEFINED_CONDITION, vetoableChangeSupport, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dispatcher, layoutMgr, maxSize, ncomponents, serialVersionUID
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, appContext, assert, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, changeSupport, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, hasFocus, height, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, RIGHT_ALIGNMENT, serialVersionUID, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowListenerK, x, y
 
Constructor Summary
FileOperationTable()
          Constructs a FileOperationTable.
 
Method Summary
protected  boolean acceptsSorting()
          Returns true when sorting is acceptable.
protected  void addFile(java.io.File file)
          Adds a file.
protected  void addFiles(java.io.File[] files)
          Adds files.
protected  javax.swing.table.DefaultTableColumnModel createColumnModel()
          Creates the column model.
protected  java.lang.String getCellString(java.lang.String header_value, int row)
          Gets the output string of the cell.
protected  java.lang.String[] getColumnNames()
          Gets the column names.
protected  FileDropTargetAdapter getFileDropTargetListener()
          Gets the file drop target listener.
 java.awt.Container getPane()
          Gets the content pane.
protected  FileOperationTable.TableRecord getRecordAt(int row)
          Gets the record at the specified row.
protected  SortableArray getSortableArray(java.lang.String header_value)
          Gets the sortable array of the specified column.
protected  java.util.Vector getTargetList()
          Returns the list of target records for the operation.
protected  void initializeColumnWidth()
          Initializes the column width.
protected  void initPopupMenu()
          Initializes a popup menu.
 boolean isOperating()
          Returns true when operating.
 void operate(MultiTaskOperation operation)
          Operates the specified operation on several objects.
protected  void processMouseEvent(java.awt.event.MouseEvent e)
          Invoked when mouse event occurs.
 boolean ready()
          Returns true if the objects are ready to be operated.
 void setReady()
          Resets to the setting mode.
protected  void setRows()
          Sets the rows.
 
Methods inherited from class net.aerith.misao.gui.table.SortableTable
getSortingIndex, headerClicked, sortColumn, sortEnded, sortStarted
 
Methods inherited from class javax.swing.JTable
accommodateDelta, addColumn, addColumnSelectionInterval, addNotify, addRowSelectionInterval, adjustSizes, adjustSizes, clearSelection, columnAdded, columnAtPoint, columnMarginChanged, columnMoved, columnRemoved, columnSelectionChanged, configureEnclosingScrollPane, convertColumnIndexToModel, convertColumnIndexToView, createDefaultColumnModel, createDefaultColumnsFromModel, createDefaultDataModel, createDefaultEditors, createDefaultRenderers, createDefaultSelectionModel, createDefaultTableHeader, createScrollPaneForTable, editCellAt, editCellAt, editingCanceled, editingStopped, getAccessibleContext, getAutoCreateColumnsFromModel, getAutoResizeMode, getCellEditor, getCellEditor, getCellRect, getCellRenderer, getCellSelectionEnabled, getColumn, getColumnClass, getColumnCount, getColumnModel, getColumnName, getColumnSelectionAllowed, getDefaultEditor, getDefaultRenderer, getEditingColumn, getEditingRow, getEditorComponent, getGridColor, getIntercellSpacing, getModel, getPreferredScrollableViewportSize, getRowCount, getRowHeight, getRowMargin, getRowSelectionAllowed, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedColumn, getSelectedColumnCount, getSelectedColumns, getSelectedRow, getSelectedRowCount, getSelectedRows, getSelectionBackground, getSelectionForeground, getSelectionModel, getShowHorizontalLines, getShowVerticalLines, getTableHeader, getToolTipText, getUI, getUIClassID, getValueAt, initializeLocalVars, isCellEditable, isCellSelected, isColumnSelected, isEditing, isManagingFocus, isRowSelected, moveColumn, paramString, prepareEditor, prepareRenderer, readObject, removeColumn, removeColumnSelectionInterval, removeEditor, removeRowSelectionInterval, reshape, resizeAndRepaint, rowAtPoint, selectAll, setAutoCreateColumnsFromModel, setAutoResizeMode, setCellEditor, setCellSelectionEnabled, setColumnModel, setColumnSelectionAllowed, setColumnSelectionInterval, setDefaultEditor, setDefaultRenderer, setEditingColumn, setEditingRow, setGridColor, setIntercellSpacing, setModel, setPreferredScrollableViewportSize, setRowHeight, setRowMargin, setRowSelectionAllowed, setRowSelectionInterval, setSelectionBackground, setSelectionForeground, setSelectionMode, setSelectionModel, setShowGrid, setShowHorizontalLines, setShowVerticalLines, setTableHeader, setUI, setValueAt, setWidthsFromPreferredWidths, sizeColumnsToFit, sizeColumnsToFit, tableChanged, tableRowsDeleted, tableRowsInserted, updateSubComponentUI, updateUI, valueChanged
 
Methods inherited from class javax.swing.JComponent
_paintImmediately, , addAncestorListener, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, adjustPaintFlags, alwaysOnTop, bindingForKeyStroke, checkIfChildObscuredBySibling, computeVisibleRect, computeVisibleRect, contains, createToolTip, enableSerialization, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperties, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getFlag, getGraphics, getHeight, getInsets, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, keyboardBindings, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paintWithBuffer, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyBindings, processKeyBindingsForAllComponents, processKeyEvent, processMouseMotionEvent, putClientProperty, rectangleIsObscured, rectangleIsObscuredBySibling, registerKeyboardAction, registerKeyboardAction, registerWithKeyboardManager, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, revalidate, scrollRectToVisible, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFlag, setFont, setForeground, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPaintingChild, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVisible, shouldDebugGraphics, superProcessMouseMotionEvent, unregisterKeyboardAction, unregisterWithKeyboardManager, update, writeObject
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyOrientation, countComponents, deliverEvent, dispatchEventImpl, dispatchEventToSelf, doLayout, eventEnabled, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getCursorTarget, getLayout, getMouseEventTarget, getWindow, initIDs, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPrint, list, list, locate, minimumSize, nextFocus, paintComponents, postProcessKeyEvent, postsOldMouseEvents, preferredSize, preProcessKeyEvent, print, printComponents, printOneComponent, processContainerEvent, processEvent, proxyEnableEvents, proxyRequestFocus, remove, remove, removeAll, removeContainerListener, setCursor, setFocusOwner, setLayout, transferFocus, updateCursor, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, areInputMethodsEnabled, bounds, checkImage, checkImage, coalesceEvents, constructComponentName, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getInputContext, getInputMethodRequests, getIntrinsicCursor, getLocale, getLocation, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getToolkit, getToolkitImpl, getTreeLock, getWindowForObject, gotFocus, handleEvent, hide, imageUpdate, inside, isDisplayable, isEnabled, isEnabledImpl, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processInputMethodEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

record_list

protected java.util.Vector record_list
The list of file records.

model

protected javax.swing.table.DefaultTableModel model
The table model.

column_model

protected javax.swing.table.DefaultTableColumnModel column_model
The table column model.

dt

protected java.awt.dnd.DropTarget dt
The drop target.

mode

protected int mode
The mode.

MODE_SETTING

protected static final int MODE_SETTING
The mode number which indicates in setting phase.

MODE_OPERATING

protected static final int MODE_OPERATING
The mode number which indicates in operating phase.

minimum_rows

protected static final int minimum_rows
The minimum number of rows.

popup

protected javax.swing.JPopupMenu popup
The popup menu.

pane

protected java.awt.Container pane
The content pane of this frame.
Constructor Detail

FileOperationTable

public FileOperationTable()
Constructs a FileOperationTable.
Method Detail

initPopupMenu

protected void initPopupMenu()
Initializes a popup menu. A popup must be created previously.

processMouseEvent

protected void processMouseEvent(java.awt.event.MouseEvent e)
Invoked when mouse event occurs. It is to show a click data dialog or popup menu.
Overrides:
processMouseEvent in class java.awt.Component
Parameters:
e - contains the click position.

getColumnNames

protected java.lang.String[] getColumnNames()
Gets the column names. This method must be overrided in the subclasses.
Returns:
the column names.

createColumnModel

protected javax.swing.table.DefaultTableColumnModel createColumnModel()
Creates the column model. This method must be overrided in the subclasses.
Returns:
the column model.

getFileDropTargetListener

protected FileDropTargetAdapter getFileDropTargetListener()
Gets the file drop target listener. This method must be overrided in the subclasses.
Returns:
the file drop target listener.

initializeColumnWidth

protected void initializeColumnWidth()
Initializes the column width.

addFile

protected void addFile(java.io.File file)
Adds a file.
Parameters:
file - the file.

addFiles

protected void addFiles(java.io.File[] files)
Adds files.
Parameters:
files - the files.

setRows

protected void setRows()
Sets the rows.

acceptsSorting

protected boolean acceptsSorting()
Returns true when sorting is acceptable.
Overrides:
acceptsSorting in class SortableTable
Returns:
true when sorting is acceptable.

getRecordAt

protected FileOperationTable.TableRecord getRecordAt(int row)
Gets the record at the specified row.
Parameters:
row - the row.
Returns:
the record.

getCellString

protected java.lang.String getCellString(java.lang.String header_value,
                                         int row)
Gets the output string of the cell.
Overrides:
getCellString in class SortableTable
Parameters:
header_value - the header value of the column.
row - the index of row in original order.
Returns:
the output string of the cell.

getSortableArray

protected SortableArray getSortableArray(java.lang.String header_value)
Gets the sortable array of the specified column.
Overrides:
getSortableArray in class SortableTable
Parameters:
header_value - the header value of the column to sort.

isOperating

public boolean isOperating()
Returns true when operating.
Returns:
true when operating.

setReady

public void setReady()
Resets to the setting mode.

getPane

public java.awt.Container getPane()
Gets the content pane.
Specified by:
getPane in interface MultiTaskConductor
Returns:
the pane.

ready

public boolean ready()
Returns true if the objects are ready to be operated.
Specified by:
ready in interface MultiTaskConductor
Returns:
true if the objects are ready to be operated.

operate

public void operate(MultiTaskOperation operation)
             throws java.lang.InterruptedException,
                    java.lang.Exception
Operates the specified operation on several objects.
Specified by:
operate in interface MultiTaskConductor
Parameters:
operation - the operation.
Throws:
java.lang.InterruptedException - if the operatoin is stopped.
java.lang.Exception - if an error occurs.

getTargetList

protected java.util.Vector getTargetList()
Returns the list of target records for the operation.
Returns:
the list of target records for the operation.