|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjava.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame
javax.swing.JFrame
org.hd.d.pg2k.clApp.uploader.UploaderMain
public final class UploaderMain
Main (UI) class of JWS-based exhibit uploader. Runs as a Swing App using JNLP resource-access facilities such as persistence and file read/write.
This class/file contains as little non-UI code as is reasonably practical, so that if we change the UI details then other classes should be unaffected.
Derived initially from Sun's "WebPad" sample JWS/JNLP code.
We don't really want/need this class to be Serializable, but this class inherits Serializable from JFrame.
| Nested Class Summary | |
|---|---|
private static class |
UploaderMain.MouseHandler
This adapter is constructed to handle mouse-over component events. |
private static class |
UploaderMain.SISListener
Listener class used to veto attempts to start another app instance. |
| 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 | |
|---|---|
private AboutAction |
aboutAction
The action performed by the "About" menu entry. |
private static java.lang.String |
APPLICATION_WINDOW_TITLE
Title shown for application. |
private javax.swing.JCheckBox |
autoSuffixCheckBox
Contains user-selected auto/manual file-type extraction; never null. |
private static java.awt.Color |
BG_RO_COL
Background colour we set for read-only informational areas. |
private static boolean |
ENABLE_FILE_DROP
If true, try to enable file drag-and-drop into the table. |
private ExitAction |
exitAction
The action performed by the "Exit" menu entry. |
(package private) static boolean |
JWS_UPLOAD_ONLY
If true, only allow upload in a JWS environment. |
private LocaleBeanBase |
lbb
Select our locale; never null. |
private SimpleLoggerIF |
logger
Central logger instance for uploader; never null. |
private UploaderLogic |
logic
Our companion "business-logic" class; never null. |
private UploaderMain.MouseHandler |
mouseHandler
Handles Mouse over messages on toolbar buttons and menu items; never null. |
private java.awt.event.ActionListener |
pollAL
ActionListener invoked by pollUI; never null. |
private javax.swing.table.AbstractTableModel |
queueTableModel
The table model for the files queued for upload; never null. |
private SelectAction |
selectAction
The action performed by the "Select" button. |
private static long |
serialVersionUID
Unique Serialisation class ID generated by http://random.hd.org/. |
private UploaderMain.SISListener |
sisListener
Single listener instance. |
private javax.swing.JLabel |
status
Status bar; never null. |
private static int |
TEXT_ENTRY_TIMEOUT_MS
Idle time in text entry box before we take opportunity to show updates, ms; strictly positive. |
(package private) UploadInfoBean |
uib
Bean to hold our current view of the exhibit we are naming; never null. |
private java.util.concurrent.atomic.AtomicInteger |
uploadTableEditRow
Row marked for editing in uploadTable; -1 if none; never null. |
private javax.swing.table.AbstractTableModel |
uploadTableModel
The table model instance for the files selected for upload; never null. |
| 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 | |
|---|---|
private |
UploaderMain()
Create an instance of the Uploader app main window. |
| Method Summary | |
|---|---|
void |
actionPerformed(java.awt.event.ActionEvent evt)
This method acts as the Action handler delegate for all the actions. |
private Tuple.Pair<javax.swing.JComponent,java.awt.event.ActionListener> |
createChooserPanel()
Make the chooser/naming component; never null. |
private Tuple.Pair<javax.swing.JComponent,java.awt.event.ActionListener> |
createMainPane()
Create the (main) tabbed pane component and a lister for UI polling. |
private javax.swing.JMenuBar |
createMenu()
Create the application menu bar. |
private Tuple.Pair<javax.swing.JComponent,java.awt.event.ActionListener> |
createProgressPanel()
Make the progress component; never null. |
private javax.swing.JLabel |
createStatusBar()
Creates and initialises a status bar. |
private Tuple.Pair<javax.swing.JComponent,java.awt.event.ActionListener> |
createStatusPanel()
Make the login/status component; never null. |
private void |
initActions()
This method should be called before creating the UI to create all the Actions. |
static void |
main(java.lang.String[] args)
Main method invoked from JWS. |
private static java.awt.Insets |
makeStandardInsets()
Make the standard insets to wrap round most components. |
private void |
pollUI(java.awt.event.ActionEvent e)
Poll UI (in Swing thread, ie Swing-safe). |
private void |
registerAction(JLFAbstractAction action)
|
private void |
selectFilesForUpload()
Select (in a file-chooser) some files for upload. |
private void |
shutdown()
Perform any activity required to shut down cleanly, eg save state, then exit. |
| 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, 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, paint, 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 |
|---|
private final SimpleLoggerIF logger
static final boolean JWS_UPLOAD_ONLY
private final UploaderLogic logic
private final SelectAction selectAction
private final AboutAction aboutAction
private final ExitAction exitAction
private final LocaleBeanBase lbb
private final javax.swing.JLabel status
private final UploaderMain.SISListener sisListener
final UploadInfoBean uib
private final javax.swing.JCheckBox autoSuffixCheckBox
private final UploaderMain.MouseHandler mouseHandler
private static final java.awt.Color BG_RO_COL
We may co-ordinate this with the Web site uploader colours.
private final java.util.concurrent.atomic.AtomicInteger uploadTableEditRow
We use AtomicInteger for lockless thread-safety.
private final javax.swing.table.AbstractTableModel uploadTableModel
Call fireTableDataChanged() or something more fine-grained when the data has changed to allow proper redrawing.
private final javax.swing.table.AbstractTableModel queueTableModel
Call fireTableDataChanged() or something more fine-grained when the data has changed to allow proper redrawing.
private static final java.lang.String APPLICATION_WINDOW_TITLE
private static final int TEXT_ENTRY_TIMEOUT_MS
private static final boolean ENABLE_FILE_DROP
private final java.awt.event.ActionListener pollAL
private static final long serialVersionUID
| Constructor Detail |
|---|
private UploaderMain()
| Method Detail |
|---|
private void shutdown()
throws java.lang.UnsupportedOperationException
This may throw an UnsupportedOperationException to try to veto an exit that the user changes their mind about, eg because we have work in progress!
java.lang.UnsupportedOperationException - if the user vetoes the shut-downprivate void initActions()
private void registerAction(JLFAbstractAction action)
private javax.swing.JMenuBar createMenu()
private Tuple.Pair<javax.swing.JComponent,java.awt.event.ActionListener> createMainPane()
private Tuple.Pair<javax.swing.JComponent,java.awt.event.ActionListener> createStatusPanel()
private Tuple.Pair<javax.swing.JComponent,java.awt.event.ActionListener> createChooserPanel()
private Tuple.Pair<javax.swing.JComponent,java.awt.event.ActionListener> createProgressPanel()
private static java.awt.Insets makeStandardInsets()
private javax.swing.JLabel createStatusBar()
public void actionPerformed(java.awt.event.ActionEvent evt)
actionPerformed in interface java.awt.event.ActionListenerprivate void selectFilesForUpload()
private void pollUI(java.awt.event.ActionEvent e)
public static void main(java.lang.String[] args)
|
DHD Multimedia Gallery V1.50.55 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||