gov.nist.antd.java.swing.html
Class HTMLBrowser

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--javax.swing.JFrame
                                |
                                +--gov.nist.antd.java.swing.html.HTMLBrowser
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, javax.swing.event.DocumentListener, java.util.EventListener, javax.swing.event.HyperlinkListener, java.awt.image.ImageObserver, java.awt.event.KeyListener, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public class HTMLBrowser
extends javax.swing.JFrame
implements java.awt.event.ActionListener, javax.swing.event.HyperlinkListener, java.awt.event.KeyListener, javax.swing.event.DocumentListener

This class represents a basic http web browser.

 This class was developed at the National Institute of Standards and
 Technology by employees of the Federal Government in the course of
 their official duties. Pursuant to title 17 Section 105 of the United
 States Code this software is not subject to copyright protection and
 is in the public domain.
NIST assumes no responsibility whatsoever for its use by other parties, and makes no guarantees, expressed or implied, about its quality, reliability, or any other characteristic.
We would appreciate acknowledgement if the software is used.
NIST ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION AND DISCLAIM ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.

Author:
borchert
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private static java.lang.String DEFAULTNAME
          The default browser name.
private  java.net.URL homePage
          The home page.
private  java.util.LinkedList list
          The list contains all already visited pages.
private  java.lang.String name
          The browser name.
private  int position
          Position in the link list.
private  StatusBar status
          The status bar.
private  javax.swing.JTextPane txtPane
          The textpane that contains the page.
private  javax.swing.JTextField urlText
          This field contains the URL as String.
 
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.Window
 
Fields inherited from class java.awt.Container
 
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
HTMLBrowser()
          Creates the credit text box.
HTMLBrowser(boolean manualURL, java.lang.String title)
          Creates the credit text box.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          Implements the actionlistener for this frame.
 void changedUpdate(javax.swing.event.DocumentEvent e)
          Will be called after the document is loaded.
private  javax.swing.JToolBar createNavigatorPanel()
          Creates the panel with the navigator buttons.
private  javax.swing.JPanel createPagePanel()
          Creates the html page embedded in a panel.
private  javax.swing.JPanel createURLPanel()
          Creates the panel for entering manual the address.
private  javax.swing.Icon getIcon(java.lang.String name)
          Returns the image icon or null.
 void hyperlinkUpdate(javax.swing.event.HyperlinkEvent e)
          Called when a hypertext link is updated.
protected  void initialize(boolean manualURL)
          Initialized the browseer.
 void insertUpdate(javax.swing.event.DocumentEvent e)
          No implementation here.
 void keyPressed(java.awt.event.KeyEvent e)
          Invoked when a key has been pressed.
 void keyReleased(java.awt.event.KeyEvent e)
          Invoked when a key has been released.
 void keyTyped(java.awt.event.KeyEvent e)
          Invoked when a key has been typed.
protected  void loadPage()
          loads the urls at the specific position in the list.
static void main(java.lang.String[] argv)
           
 void removeUpdate(javax.swing.event.DocumentEvent e)
          will be called by removing this document.
 void setHomePage(java.lang.String urlStr)
          Set the homepage and initializes the list.
 void setHomePage(java.net.URL url)
          Set the homepage and initializes the list.
 void setPage(java.lang.String urlStr)
          Set the given string as new page.
 void setPage(java.net.URL url)
          Set the given url as new page.
 void setStatus(java.lang.String str)
          Set the text for the status bar.
 void setVisible(boolean visi)
           
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setIconImage, 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, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, 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, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, 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, isOpaque, 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, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

DEFAULTNAME

private static final java.lang.String DEFAULTNAME
The default browser name.

See Also:
Constant Field Values

name

private java.lang.String name
The browser name.


txtPane

private javax.swing.JTextPane txtPane
The textpane that contains the page.


list

private java.util.LinkedList list
The list contains all already visited pages.


position

private int position
Position in the link list.


urlText

private javax.swing.JTextField urlText
This field contains the URL as String.


status

private StatusBar status
The status bar.


homePage

private java.net.URL homePage
The home page.

Constructor Detail

HTMLBrowser

public HTMLBrowser()
Creates the credit text box.


HTMLBrowser

public HTMLBrowser(boolean manualURL,
                   java.lang.String title)
Creates the credit text box.

Parameters:
manualURL - Indicates if the browser has a field for entering a url manually.
title - The title of the browser
Method Detail

createPagePanel

private javax.swing.JPanel createPagePanel()
Creates the html page embedded in a panel.

Returns:
the html page panel.

createURLPanel

private javax.swing.JPanel createURLPanel()
Creates the panel for entering manual the address.

Returns:
the address panel.

getIcon

private javax.swing.Icon getIcon(java.lang.String name)
Returns the image icon or null.

Returns:
the image icon or null

createNavigatorPanel

private javax.swing.JToolBar createNavigatorPanel()
Creates the panel with the navigator buttons. return the navigator button panel.


initialize

protected void initialize(boolean manualURL)
Initialized the browseer.

Parameters:
manualURL - specifies if manual address bar has to be added or not.

setHomePage

public void setHomePage(java.lang.String urlStr)
Set the homepage and initializes the list.

Parameters:
urlStr - The String-name of the new home webpage to display.

setHomePage

public void setHomePage(java.net.URL url)
Set the homepage and initializes the list.


setPage

public void setPage(java.lang.String urlStr)
Set the given string as new page.

Parameters:
urlStr - The String-name of the new webpage to display.

setPage

public void setPage(java.net.URL url)
Set the given url as new page.

Parameters:
url - The URL of the new webpage to display.

loadPage

protected void loadPage()
loads the urls at the specific position in the list. if the browser is not visible this method does it.


actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Implements the actionlistener for this frame.

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Parameters:
e - not used.

main

public static void main(java.lang.String[] argv)

hyperlinkUpdate

public void hyperlinkUpdate(javax.swing.event.HyperlinkEvent e)
Called when a hypertext link is updated.

Specified by:
hyperlinkUpdate in interface javax.swing.event.HyperlinkListener
Parameters:
e - the event responsible for the update.

keyPressed

public void keyPressed(java.awt.event.KeyEvent e)
Invoked when a key has been pressed. No implementation here.

Specified by:
keyPressed in interface java.awt.event.KeyListener
Parameters:
e - The event.

keyReleased

public void keyReleased(java.awt.event.KeyEvent e)
Invoked when a key has been released. Opens the new given URL.

Specified by:
keyReleased in interface java.awt.event.KeyListener
Parameters:
e - The event.

keyTyped

public void keyTyped(java.awt.event.KeyEvent e)
Invoked when a key has been typed. No implementation here.

Specified by:
keyTyped in interface java.awt.event.KeyListener
Parameters:
e - The event.

setStatus

public void setStatus(java.lang.String str)
Set the text for the status bar.

Parameters:
str - The status text.

setVisible

public void setVisible(boolean visi)
Overrides:
setVisible in class java.awt.Component

changedUpdate

public void changedUpdate(javax.swing.event.DocumentEvent e)
Will be called after the document is loaded.

Specified by:
changedUpdate in interface javax.swing.event.DocumentListener
Parameters:
e - The event containing the new document.

insertUpdate

public void insertUpdate(javax.swing.event.DocumentEvent e)
No implementation here.

Specified by:
insertUpdate in interface javax.swing.event.DocumentListener
Parameters:
e - Not used.

removeUpdate

public void removeUpdate(javax.swing.event.DocumentEvent e)
will be called by removing this document.

Specified by:
removeUpdate in interface javax.swing.event.DocumentListener
Parameters:
e - The event containing the document.