org.PingOO.DLAI.lib.PWidget.tool
Class HtmlBrowser

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--org.PingOO.DLAI.lib.PWidget.PPanel
                                |
                                +--org.PingOO.DLAI.lib.PWidget.tool.HtmlBrowser
Direct Known Subclasses:
PHelpBrowser

public class HtmlBrowser
extends PPanel

The class used to display html page with a navigational tool bar.
Some kind of light web-browser.
Still need to do some heavy work and HEAVY DEBUG and correction here (eg : on history modification and laguage change).

Since:
PingOO 2.0
Version:
2.0
Author:
Fabrice Bouyé (bouye@cur-archamps.fr)
See Also:
PPanel, Serialized Form

Inner Class Summary
protected  class HtmlBrowser.CopyAction
          Copy the content of the current selection to clipboard.
protected  class HtmlBrowser.CutAction
          Cut the content of current selection to clipboard.
protected  class HtmlBrowser.GoBackwardAction
          Action : go backward in history.
protected  class HtmlBrowser.GoForwardAction
          Action : go forward in history.
protected  class HtmlBrowser.GoHomeAction
          Action : go to the default page.
protected  class HtmlBrowser.HelplinkAdpater
          Hyper link listener to make the panel change its displayed page.
protected  class HtmlBrowser.HtmlViewer
          Displays a html page in an editor wihin a scroll pane.
protected  class HtmlBrowser.PageLoader
          Temporary class that loads synchronously (although later than the request so that a cursor change can be done).
protected  class HtmlBrowser.PasteAction
          Paste the content of clipboard over the current selection.
protected  class HtmlBrowser.PrintPageAction
          This action will print the current page.
 
Inner classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
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  PAction copyAction
          Action : copy selected text.
protected  PAction cutAction
          Action : cut selected text.
protected  HtmlBrowser.HelplinkAdpater defaultHelplinkAdapter
          The default hyper link listener.
protected  PAction goBackwardAction
          Action : go backward in history.
protected  PAction goForwardAction
          Action : go forward in history.
protected  PAction goHomeAction
          Action : go to the default page.
protected  int historyPosition
          The position in hitory.
protected  java.util.Vector historyVector
           
protected  java.net.URL homeURL
          The home page.
protected  HtmlBrowser.HtmlViewer htmlViewer
          The html page viewer.
protected  PAction pasteAction
          Action : paste text on selection.
protected  PAction printPageAction
          Action : print current page.
 
Fields inherited from class org.PingOO.DLAI.lib.PWidget.PPanel
DEFAULT_LAYOUT, manager, module, toolTipKey
 
Fields inherited from class javax.swing.JPanel
defaultLayout, 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, 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
HtmlBrowser()
          Create a new browser wih no start and home page page defined.
HtmlBrowser(java.net.URL htmlPage)
          The given html page will also be the default home page.
HtmlBrowser(java.net.URL homePage, java.net.URL htmlPage)
          Creates a new browser with a home page.
 
Method Summary
protected  void createActions()
           
private  void createPopUp(int x, int y)
          Displays a popup menu with the standard copy, cut and paste buttons.
protected  void createToolBar()
          Creates the navigation tool bar.
protected  void enableActions(boolean value)
           
 java.net.URL getHomeURL()
           
 java.net.URL getURL()
           
 void setHomeURL(java.net.URL homePage)
           
 void setURL(java.net.URL newURL)
           
 
Methods inherited from class org.PingOO.DLAI.lib.PWidget.PPanel
getManager, getModule, getTextKey, getToolTipKey, setLocalizedText, setLocalizedToolTipText, setManager, setModule, updateFont, updateLanguage, updateLanguage
 
Methods inherited from class javax.swing.JPanel
, getAccessibleContext, getUIClassID, paramString, updateUI, writeObject
 
Methods inherited from class javax.swing.JComponent
_paintImmediately, addAncestorListener, addNotify, addPropertyChangeListener, addVetoableChangeListener, adjustPaintFlags, alwaysOnTop, bindingForKeyStroke, 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, getToolTipText, getTopLevelAncestor, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, keyboardBindings, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paintWithBuffer, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyBindings, processKeyBindingsForAllComponents, processKeyEvent, processMouseMotionEvent, putClientProperty, readObject, rectangleIsObscured, registerKeyboardAction, registerKeyboardAction, registerWithKeyboardManager, removeAncestorListener, removeNotify, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFlag, setFont, setForeground, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVisible, shouldDebugGraphics, superProcessMouseMotionEvent, unregisterKeyboardAction, unregisterWithKeyboardManager, update
 
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, 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, setFocusOwner, setLayout, transferFocus, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, 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, 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, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, 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

historyVector

protected final java.util.Vector historyVector

historyPosition

protected int historyPosition
The position in hitory.

defaultHelplinkAdapter

protected HtmlBrowser.HelplinkAdpater defaultHelplinkAdapter
The default hyper link listener.

homeURL

protected java.net.URL homeURL
The home page.

htmlViewer

protected HtmlBrowser.HtmlViewer htmlViewer
The html page viewer.

goBackwardAction

protected PAction goBackwardAction
Action : go backward in history.

goForwardAction

protected PAction goForwardAction
Action : go forward in history.

goHomeAction

protected PAction goHomeAction
Action : go to the default page.

copyAction

protected PAction copyAction
Action : copy selected text.

cutAction

protected PAction cutAction
Action : cut selected text.

pasteAction

protected PAction pasteAction
Action : paste text on selection.

printPageAction

protected PAction printPageAction
Action : print current page.
Constructor Detail

HtmlBrowser

public HtmlBrowser()
Create a new browser wih no start and home page page defined.

HtmlBrowser

public HtmlBrowser(java.net.URL htmlPage)
The given html page will also be the default home page.
Parameters:
htmlPage -  

HtmlBrowser

public HtmlBrowser(java.net.URL homePage,
                   java.net.URL htmlPage)
Creates a new browser with a home page.
Parameters:
homePage - The default home page.
htmlPage - The default start page.
Method Detail

createToolBar

protected void createToolBar()
Creates the navigation tool bar.

setURL

public void setURL(java.net.URL newURL)

setHomeURL

public void setHomeURL(java.net.URL homePage)

getURL

public java.net.URL getURL()

getHomeURL

public java.net.URL getHomeURL()

createActions

protected void createActions()

enableActions

protected void enableActions(boolean value)

createPopUp

private final void createPopUp(int x,
                               int y)
Displays a popup menu with the standard copy, cut and paste buttons.
Parameters:
x - The x position where this popup sould be displayed.
y - The y position where this popup sould be displayed.