Class Thumbelina

  • All Implemented Interfaces:
    java.awt.event.ItemListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.lang.Runnable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.ChangeListener, javax.swing.event.ListSelectionListener

    public class Thumbelina
    extends javax.swing.JPanel
    implements java.lang.Runnable, java.awt.event.ItemListener, javax.swing.event.ChangeListener, javax.swing.event.ListSelectionListener
    View images behind thumbnails.
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JPanel

        javax.swing.JPanel.AccessibleJPanel
      • Nested classes/interfaces inherited from class javax.swing.JComponent

        javax.swing.JComponent.AccessibleJComponent
      • 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 
      Modifier and Type Field Description
      protected boolean mActive
      Activity state.
      protected javax.swing.JCheckBox mBackgroundToggle
      Background thread checkbox in status bar.
      protected java.lang.String mCurrentURL
      The URL being currently being examined.
      protected boolean mDiscardCGI
      If true, does not follow links containing cgi calls.
      protected boolean mDiscardQueries
      If true, does not follow links containing queries (?).
      protected javax.swing.JList mHistory
      History list.
      protected javax.swing.JScrollPane mHistoryScroller
      Scroller for the history list.
      protected javax.swing.JSplitPane mMainArea
      Main panel in central area.
      protected PicturePanel mPicturePanel
      The central area for pictures.
      protected javax.swing.JScrollPane mPicturePanelScroller
      Scroller for the picture panel.
      protected javax.swing.JPanel mPowerBar
      Status bar.
      protected java.beans.PropertyChangeSupport mPropertySupport
      Bound property support.
      protected javax.swing.JProgressBar mQueueProgress
      Image request queue monitor in status bar.
      protected javax.swing.JLabel mQueueSize
      URL queue size display in status bar.
      protected javax.swing.JProgressBar mReadyProgress
      Image ready queue monitor in status bar.
      protected java.util.HashMap mRequested
      Images requested.
      protected javax.swing.JCheckBox mRunToggle
      Sequencer thread toggle in status bar.
      protected Sequencer mSequencer
      The picture sequencer.
      protected javax.swing.JSlider mSpeedSlider
      Sequencer speed slider in status bar.
      protected java.lang.Thread mThread
      Background thread.
      protected java.util.HashMap mTracked
      Images being tracked currently.
      protected javax.swing.JTextField mUrlText
      URL report in status bar.
      protected java.util.HashMap mVisited
      URL's visited.
      protected javax.swing.JLabel mVisitedSize
      URL visited count display in status bar.
      protected static java.net.URL[][] NONE
      Value returned when no links are discovered.
      static java.lang.String PROP_CURRENT_URL_PROPERTY
      Property name for current URL binding.
      static java.lang.String PROP_URL_QUEUE_PROPERTY
      Property name for queue size binding.
      static java.lang.String PROP_URL_VISITED_PROPERTY
      Property name for visited URL size binding.
      • Fields inherited from class javax.swing.JComponent

        listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
      • Fields inherited from class java.awt.Component

        accessibleContext, 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

      Constructors 
      Constructor Description
      Thumbelina()
      Creates a new instance of Thumbelina.
      Thumbelina​(java.lang.String url)
      Creates a new instance of Thumbelina.
      Thumbelina​(java.net.URL url)
      Creates a new instance of Thumbelina.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addHistory​(java.lang.String url)
      Adds the given url to the history list.
      void addPropertyChangeListener​(java.beans.PropertyChangeListener listener)
      Add a PropertyChangeListener to the listener list.
      void append​(java.net.URL url)
      Append the given URL to the queue.
      void append​(java.util.ArrayList list)
      Append the given URLs to the queue.
      protected java.net.URL[][] extractImageLinks​(Lexer lexer, java.net.URL docbase)
      Get the links of an element of a document.
      protected void fetch​(java.net.URL[] images)
      Fetch images.
      protected java.util.ArrayList filter​(java.net.URL[] urls)
      Filter URLs and add to queue.
      boolean getBackgroundThreadActive()
      Gets the state of the background thread.
      java.lang.String getCurrentURL()
      Return the URL currently being examined.
      boolean getHistoryListVisible()
      Gets the state of history list visibility.
      protected java.net.URL[][] getImageLinks​(java.net.URL url)
      Get the image links from the current URL.
      PicturePanel getPicturePanel()
      Get the picture panel object encapsulated by this Thumbelina.
      java.util.ArrayList getQueue()
      Getter for property queue.
      int getQueueSize()
      Getter for property queue.
      boolean getSequencerActive()
      Gets the state of the sequencer thread.
      int getSpeed()
      Get the sequencer delay time.
      boolean getStatusBarVisible()
      Gets the state of status bar visibility.
      protected static void help()
      Provide command line help.
      boolean isDiscardCGI()
      Getter for property discardCGI.
      boolean isDiscardQueries()
      Getter for property discardQueries.
      protected boolean isImage​(java.lang.String url)
      Check if the url looks like an image.
      void itemStateChanged​(java.awt.event.ItemEvent event)
      Handle checkbox events from the status bar.
      static void main​(java.lang.String[] args)
      Mainline.
      protected void memCheck()
      Check for low memory situation.
      void open​(java.lang.String ref)
      Open a URL.
      void removePropertyChangeListener​(java.beans.PropertyChangeListener listener)
      Remove a PropertyChangeListener from the listener list.
      void reset()
      Reset this Thumbelina.
      void run()
      The main processing loop.
      void setBackgroundThreadActive​(boolean active)
      Sets the state of the background thread activity.
      protected void setCurrentURL​(java.lang.String url)
      Set the current URL being examined.
      void setDiscardCGI​(boolean discard)
      Setter for property discardCGI.
      void setDiscardQueries​(boolean discard)
      Setter for property discardQueries.
      void setHistoryListVisible​(boolean visible)
      Sets the history list visibility.
      void setSequencerActive​(boolean active)
      Sets the sequencer activity state.
      void setSpeed​(int speed)
      Set the sequencer delay time.
      void setStatusBarVisible​(boolean visible)
      Sets the status bar visibility.
      void stateChanged​(javax.swing.event.ChangeEvent event)
      Handles the speed slider events.
      protected void updateQueueSize​(int original, int current)
      Apply a change in 'to be examined' URL list size.
      protected void updateVisitedSize​(int original, int current)
      Apply a change in 'visited' URL list size.
      void valueChanged​(javax.swing.event.ListSelectionEvent event)
      Handles the history list events.
      • Methods inherited from class javax.swing.JPanel

        getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
      • Methods inherited from class javax.swing.JComponent

        addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • PROP_CURRENT_URL_PROPERTY

        public static final java.lang.String PROP_CURRENT_URL_PROPERTY
        Property name for current URL binding.
        See Also:
        Constant Field Values
      • PROP_URL_QUEUE_PROPERTY

        public static final java.lang.String PROP_URL_QUEUE_PROPERTY
        Property name for queue size binding.
        See Also:
        Constant Field Values
      • PROP_URL_VISITED_PROPERTY

        public static final java.lang.String PROP_URL_VISITED_PROPERTY
        Property name for visited URL size binding.
        See Also:
        Constant Field Values
      • mVisited

        protected java.util.HashMap mVisited
        URL's visited.
      • mRequested

        protected java.util.HashMap mRequested
        Images requested.
      • mTracked

        protected java.util.HashMap mTracked
        Images being tracked currently.
      • mThread

        protected java.lang.Thread mThread
        Background thread.
      • mActive

        protected boolean mActive
        Activity state. true means processing URLS, false not.
      • mSequencer

        protected Sequencer mSequencer
        The picture sequencer.
      • mPicturePanel

        protected PicturePanel mPicturePanel
        The central area for pictures.
      • NONE

        protected static final java.net.URL[][] NONE
        Value returned when no links are discovered.
      • mPropertySupport

        protected java.beans.PropertyChangeSupport mPropertySupport
        Bound property support.
      • mCurrentURL

        protected java.lang.String mCurrentURL
        The URL being currently being examined.
      • mDiscardCGI

        protected boolean mDiscardCGI
        If true, does not follow links containing cgi calls.
      • mDiscardQueries

        protected boolean mDiscardQueries
        If true, does not follow links containing queries (?).
      • mBackgroundToggle

        protected javax.swing.JCheckBox mBackgroundToggle
        Background thread checkbox in status bar.
      • mHistory

        protected javax.swing.JList mHistory
        History list.
      • mPicturePanelScroller

        protected javax.swing.JScrollPane mPicturePanelScroller
        Scroller for the picture panel.
      • mHistoryScroller

        protected javax.swing.JScrollPane mHistoryScroller
        Scroller for the history list.
      • mMainArea

        protected javax.swing.JSplitPane mMainArea
        Main panel in central area.
      • mPowerBar

        protected javax.swing.JPanel mPowerBar
        Status bar.
      • mQueueProgress

        protected javax.swing.JProgressBar mQueueProgress
        Image request queue monitor in status bar.
      • mReadyProgress

        protected javax.swing.JProgressBar mReadyProgress
        Image ready queue monitor in status bar.
      • mRunToggle

        protected javax.swing.JCheckBox mRunToggle
        Sequencer thread toggle in status bar.
      • mSpeedSlider

        protected javax.swing.JSlider mSpeedSlider
        Sequencer speed slider in status bar.
      • mUrlText

        protected javax.swing.JTextField mUrlText
        URL report in status bar.
      • mQueueSize

        protected javax.swing.JLabel mQueueSize
        URL queue size display in status bar.
      • mVisitedSize

        protected javax.swing.JLabel mVisitedSize
        URL visited count display in status bar.
    • Constructor Detail

      • Thumbelina

        public Thumbelina()
        Creates a new instance of Thumbelina.
      • Thumbelina

        public Thumbelina​(java.lang.String url)
                   throws java.net.MalformedURLException
        Creates a new instance of Thumbelina.
        Parameters:
        url - Single URL to enter into the 'to follow' list.
        Throws:
        java.net.MalformedURLException - If the url is malformed.
      • Thumbelina

        public Thumbelina​(java.net.URL url)
        Creates a new instance of Thumbelina.
        Parameters:
        url - URL to enter into the 'to follow' list.
    • Method Detail

      • memCheck

        protected void memCheck()
        Check for low memory situation. Report to the user a bad situation.
      • reset

        public void reset()
        Reset this Thumbelina. Clears the sequencer of pending images, resets the picture panel, emptiies the 'to be examined' list of URLs.
      • append

        public void append​(java.net.URL url)
        Append the given URL to the queue. Adds the url only if it isn't already in the queue, and notifys listeners about the addition.
        Parameters:
        url - The url to add.
      • append

        public void append​(java.util.ArrayList list)
        Append the given URLs to the queue.
        Parameters:
        list - The list of URL objects to add.
      • filter

        protected java.util.ArrayList filter​(java.net.URL[] urls)
        Filter URLs and add to queue. Removes already visited links and appends the rest (if any) to the visit pending list.
        Parameters:
        urls - The list of URL's to add to the 'to visit' list.
        Returns:
        Returns the filered list.
      • getStatusBarVisible

        public boolean getStatusBarVisible()
        Gets the state of status bar visibility.
        Returns:
        true if the status bar is visible.
      • setStatusBarVisible

        public void setStatusBarVisible​(boolean visible)
        Sets the status bar visibility.
        Parameters:
        visible - The new visibility state. If true, the status bar will be unhidden.
      • getHistoryListVisible

        public boolean getHistoryListVisible()
        Gets the state of history list visibility.
        Returns:
        true if the history list is visible.
      • setHistoryListVisible

        public void setHistoryListVisible​(boolean visible)
        Sets the history list visibility.
        Parameters:
        visible - The new visibility state. If true, the history list will be unhidden.
      • getSequencerActive

        public boolean getSequencerActive()
        Gets the state of the sequencer thread.
        Returns:
        true if the thread is pumping images.
      • setSequencerActive

        public void setSequencerActive​(boolean active)
        Sets the sequencer activity state. The sequencer is the thread that moves images from the pending list to the picture panel on a timed basis.
        Parameters:
        active - The new activity state. If true, the sequencer will be turned on. This may alter the speed setting if it is set to zero.
      • getBackgroundThreadActive

        public boolean getBackgroundThreadActive()
        Gets the state of the background thread.
        Returns:
        true if the thread is examining web pages.
      • setBackgroundThreadActive

        public void setBackgroundThreadActive​(boolean active)
        Sets the state of the background thread activity. The background thread is responsible for examining URLs that are on the queue for thumbnails, and starting the image fetch operation.
        Parameters:
        active - If true, the background thread will be turned on.
      • getSpeed

        public int getSpeed()
        Get the sequencer delay time.
        Returns:
        The number of milliseconds between image additions to the panel.
      • setSpeed

        public void setSpeed​(int speed)
        Set the sequencer delay time. The sequencer is the thread that moves images from the pending list to the picture panel on a timed basis. This value sets the number of milliseconds it waits between pictures. Setting it to zero toggles the running state off.
        Parameters:
        speed - The sequencer delay in milliseconds.
      • isDiscardCGI

        public boolean isDiscardCGI()
        Getter for property discardCGI.
        Returns:
        Value of property discardCGI.
      • setDiscardCGI

        public void setDiscardCGI​(boolean discard)
        Setter for property discardCGI.
        Parameters:
        discard - New value of property discardCGI.
      • isDiscardQueries

        public boolean isDiscardQueries()
        Getter for property discardQueries.
        Returns:
        Value of property discardQueries.
      • setDiscardQueries

        public void setDiscardQueries​(boolean discard)
        Setter for property discardQueries.
        Parameters:
        discard - New value of property discardQueries.
      • isImage

        protected boolean isImage​(java.lang.String url)
        Check if the url looks like an image.
        Parameters:
        url - The usrl to check for image characteristics.
        Returns:
        true if the url ends in a recognized image extension.
      • extractImageLinks

        protected java.net.URL[][] extractImageLinks​(Lexer lexer,
                                                     java.net.URL docbase)
                                              throws java.io.IOException,
                                                     ParserException
        Get the links of an element of a document. Only gets the links on IMG elements that reference another image. The latter is based on suffix (.jpg, .gif and .png).
        Parameters:
        lexer - The fully conditioned lexer, ready to rock.
        docbase - The url to read.
        Returns:
        The URLs, targets of the IMG links;
        Throws:
        java.io.IOException - If the underlying infrastructure throws it.
        ParserException - If there is a problem parsing the url.
      • getImageLinks

        protected java.net.URL[][] getImageLinks​(java.net.URL url)
        Get the image links from the current URL.
        Parameters:
        url - The URL to get the links from
        Returns:
        An array of two URL arrays, index 0 is a list of images, index 1 is a list of links to possibly follow.
      • getPicturePanel

        public PicturePanel getPicturePanel()
        Get the picture panel object encapsulated by this Thumbelina.
        Returns:
        The picture panel.
      • addPropertyChangeListener

        public void addPropertyChangeListener​(java.beans.PropertyChangeListener listener)
        Add a PropertyChangeListener to the listener list. The listener is registered for all properties.
        Overrides:
        addPropertyChangeListener in class java.awt.Container
        Parameters:
        listener - The PropertyChangeListener to be added.
      • removePropertyChangeListener

        public void removePropertyChangeListener​(java.beans.PropertyChangeListener listener)
        Remove a PropertyChangeListener from the listener list. This removes a PropertyChangeListener that was registered for all properties.
        Overrides:
        removePropertyChangeListener in class java.awt.Component
        Parameters:
        listener - The PropertyChangeListener to be removed.
      • getCurrentURL

        public java.lang.String getCurrentURL()
        Return the URL currently being examined. This is a bound property. Notifications are available via the PROP_CURRENT_URL_PROPERTY property.
        Returns:
        The size of the 'to be examined' list.
      • setCurrentURL

        protected void setCurrentURL​(java.lang.String url)
        Set the current URL being examined.
        Parameters:
        url - The url that is being examined.
      • updateQueueSize

        protected void updateQueueSize​(int original,
                                       int current)
        Apply a change in 'to be examined' URL list size. Sends notification via the PROP_URL_QUEUE_PROPERTY property and updates the status bar.
        Parameters:
        original - The original size of the list.
        current - The new size of the list.
      • updateVisitedSize

        protected void updateVisitedSize​(int original,
                                         int current)
        Apply a change in 'visited' URL list size. Sends notification via the PROP_URL_VISITED_PROPERTY property and updates the status bar.
        Parameters:
        original - The original size of the list.
        current - The new size of the list.
      • fetch

        protected void fetch​(java.net.URL[] images)
        Fetch images. Ask the toolkit to make the image from a URL, and add a tracker to handle it when it's received. Add details to the rquested and tracked lists and update the status bar.
        Parameters:
        images - The list of images to fetch.
      • run

        public void run()
        The main processing loop. Pull suspect URLs off the queue one at a time, fetch and parse it, request images and enqueue further links.
        Specified by:
        run in interface java.lang.Runnable
      • itemStateChanged

        public void itemStateChanged​(java.awt.event.ItemEvent event)
        Handle checkbox events from the status bar. Based on the thread toggles, activates or deactivates the background thread processes.
        Specified by:
        itemStateChanged in interface java.awt.event.ItemListener
        Parameters:
        event - The event describing the checkbox event.
      • stateChanged

        public void stateChanged​(javax.swing.event.ChangeEvent event)
        Handles the speed slider events.
        Specified by:
        stateChanged in interface javax.swing.event.ChangeListener
        Parameters:
        event - The event describing the slider activity.
      • valueChanged

        public void valueChanged​(javax.swing.event.ListSelectionEvent event)
        Handles the history list events.
        Specified by:
        valueChanged in interface javax.swing.event.ListSelectionListener
        Parameters:
        event - The event describing the list activity.
      • addHistory

        public void addHistory​(java.lang.String url)
        Adds the given url to the history list. Also puts the URL in the url text of the status bar.
        Parameters:
        url - The URL to add to the history list.
      • open

        public void open​(java.lang.String ref)
        Open a URL. Resets the urls list and appends the given url as the only item.
        Parameters:
        ref - The URL to add.
      • help

        protected static void help()
        Provide command line help.
      • main

        public static void main​(java.lang.String[] args)
        Mainline.
        Parameters:
        args - the command line arguments. Can be one or more forms of -help to get command line help, or a URL to prime the program with. Checks for JDK 1.4 and if not found runs in crippled mode (no ThumbelinaFrame).
      • getQueue

        public java.util.ArrayList getQueue()
        Getter for property queue.
        Returns:
        List of URLs that are to be visited.
      • getQueueSize

        public int getQueueSize()
        Getter for property queue. This is a bound property. Notifications are available via the PROP_URL_QUEUE_PROPERTY property.
        Returns:
        The size of the list of URLs that are to be visited.