org.benow.web.applet.upload
Class FolderUpload

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Panel
              extended by java.applet.Applet
                  extended by org.benow.web.applet.upload.FolderUpload
All Implemented Interfaces:
java.awt.dnd.DropTargetListener, java.awt.event.MouseListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

public class FolderUpload
extends java.applet.Applet
implements java.awt.dnd.DropTargetListener, java.beans.PropertyChangeListener, java.awt.event.MouseListener

This applet allows users to select files from their file system using drag and drop and upload them to a remote server. The applet uploads each file individually as a POST request.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.applet.Applet
java.applet.Applet.AccessibleApplet
 
Nested classes/interfaces inherited from class java.awt.Panel
java.awt.Panel.AccessibleAWTPanel
 
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
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
FolderUpload()
           
 
Method Summary
 java.lang.String bitrate(long totalBits, long duration)
           
 void cancel()
           
static java.awt.Color colorFromString(java.lang.String name)
          Decodes a Color from a given string.
static java.awt.Color colorFromString(java.lang.String name, java.awt.Color defaultColor)
          As above but returning default color if there is a problem parsing the given color name.
protected  javax.swing.ImageIcon createImageIcon(java.lang.String path, java.lang.String description)
          Returns an ImageIcon, or null if the path was invalid.
 void deselect()
           
protected  void doInit()
           
 void dragEnter(java.awt.dnd.DropTargetDragEvent dtde)
           
 void dragExit(java.awt.dnd.DropTargetEvent dte)
           
 void dragOver(java.awt.dnd.DropTargetDragEvent dtde)
           
 void drop(java.awt.dnd.DropTargetDropEvent dtde)
          This method will be called when the user drops a file on our target label.
 void dropActionChanged(java.awt.dnd.DropTargetDragEvent dtde)
           
 java.lang.String getCookie()
           
 java.lang.String getId()
           
 void init()
          The init method creates all of the UI controls and performs all of the layout of the UI.
static java.lang.String lengthToString(long size)
           
 void mouseClicked(java.awt.event.MouseEvent e)
           
 void mouseEntered(java.awt.event.MouseEvent e)
           
 void mouseExited(java.awt.event.MouseEvent e)
           
 void mousePressed(java.awt.event.MouseEvent e)
           
 void mouseReleased(java.awt.event.MouseEvent e)
           
 void propertyChange(java.beans.PropertyChangeEvent evt)
           
 void resetInput()
          resets the user interface
 void select()
           
 void setIcon(java.lang.String icon)
          Call to set icon (public for js access)
 void setLabel(java.lang.String icon, java.lang.String folderName)
           
 void setLabel(java.lang.String icon, java.lang.String folderName, java.awt.Font font)
          Call to set label (public for js access)
 void updateProgress(long sent, long totalLen, java.lang.String currentNote)
           
 
Methods inherited from class java.applet.Applet
destroy, getAccessibleContext, getAppletContext, getAppletInfo, getAudioClip, getAudioClip, getCodeBase, getDocumentBase, getImage, getImage, getLocale, getParameter, getParameterInfo, isActive, newAudioClip, play, play, resize, resize, setStub, showStatus, start, stop
 
Methods inherited from class java.awt.Panel
addNotify
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, update, 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, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FolderUpload

public FolderUpload()
Method Detail

init

public void init()
The init method creates all of the UI controls and performs all of the layout of the UI.

Overrides:
init in class java.applet.Applet

doInit

protected void doInit()
               throws java.net.MalformedURLException
Throws:
java.net.MalformedURLException

getCookie

public java.lang.String getCookie()

cancel

public void cancel()

resetInput

public void resetInput()
resets the user interface


dragExit

public void dragExit(java.awt.dnd.DropTargetEvent dte)
Specified by:
dragExit in interface java.awt.dnd.DropTargetListener

dragEnter

public void dragEnter(java.awt.dnd.DropTargetDragEvent dtde)
Specified by:
dragEnter in interface java.awt.dnd.DropTargetListener

dragOver

public void dragOver(java.awt.dnd.DropTargetDragEvent dtde)
Specified by:
dragOver in interface java.awt.dnd.DropTargetListener

dropActionChanged

public void dropActionChanged(java.awt.dnd.DropTargetDragEvent dtde)
Specified by:
dropActionChanged in interface java.awt.dnd.DropTargetListener

drop

public void drop(java.awt.dnd.DropTargetDropEvent dtde)
This method will be called when the user drops a file on our target label.

Specified by:
drop in interface java.awt.dnd.DropTargetListener
Parameters:
dtde -

getId

public java.lang.String getId()

setIcon

public void setIcon(java.lang.String icon)
Call to set icon (public for js access)

Parameters:
icon -

select

public void select()

deselect

public void deselect()

setLabel

public void setLabel(java.lang.String icon,
                     java.lang.String folderName)

setLabel

public void setLabel(java.lang.String icon,
                     java.lang.String folderName,
                     java.awt.Font font)
Call to set label (public for js access)

Parameters:
icon -
folderName -

createImageIcon

protected javax.swing.ImageIcon createImageIcon(java.lang.String path,
                                                java.lang.String description)
Returns an ImageIcon, or null if the path was invalid.


updateProgress

public void updateProgress(long sent,
                           long totalLen,
                           java.lang.String currentNote)

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent evt)
Specified by:
propertyChange in interface java.beans.PropertyChangeListener

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Specified by:
mouseClicked in interface java.awt.event.MouseListener

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Specified by:
mouseReleased in interface java.awt.event.MouseListener

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Specified by:
mouseExited in interface java.awt.event.MouseListener

bitrate

public java.lang.String bitrate(long totalBits,
                                long duration)

lengthToString

public static java.lang.String lengthToString(long size)

colorFromString

public static java.awt.Color colorFromString(java.lang.String name)
                                      throws java.lang.NumberFormatException
Decodes a Color from a given string. The string can be a color name (red, green, black) or a hex representation, possibly prefixed by # or 0x or just a number (ie #FF000, 0xFF00, 0).

Note: the color names are not the full set typically supported by a browser. For example, grey works but lightgrey does not.

Based on: from: http://stackoverflow.com/questions/2854043/converting-a-string-to-color-in-java

Throws:
java.lang.NumberFormatException

colorFromString

public static java.awt.Color colorFromString(java.lang.String name,
                                             java.awt.Color defaultColor)
As above but returning default color if there is a problem parsing the given color name. The problem is logged to stderr.

Parameters:
name -
defaultColor -
Returns: