Xj3D VRML/X3D Code API

org.web3d.ogl.browser
Class VRMLBrowserJPanel

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byorg.web3d.ogl.browser.VRMLBrowserJPanel
All Implemented Interfaces:
javax.accessibility.Accessible, BrowserComponent, BrowserCoreListener, java.awt.event.ComponentListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, org.j3d.ui.navigation.ViewpointSelectionListener, VrmlComponent

public class VRMLBrowserJPanel
extends javax.swing.JPanel
implements VrmlComponent, BrowserComponent, BrowserCoreListener, org.j3d.ui.navigation.ViewpointSelectionListener, java.awt.event.ComponentListener

Swing JPanel implementation that wraps the functionality of a VRML browser into a convenient, easy to use form.

This panel is designed for use by the EAI and therefore will, by default, restrict the content to VRML97 rather than X3D. An alternate constructor allows the use of non VRML97 content.

Version:
$Revision: 1.19 $
Author:
Brad Vender
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
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
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
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
VRMLBrowserJPanel(boolean showDash, boolean dashTop, boolean showUrl, boolean urlTop, boolean urlReadOnly, boolean showConsole)
          Create an instance of the panel configured to show or hide the controls and only shows VRML97 content.
VRMLBrowserJPanel(boolean vrml97Only, boolean showDash, boolean dashTop, boolean showUrl, boolean urlTop, boolean urlReadOnly, boolean showConsole)
          Create an instance of the panel configured to show or hide the controls and only shows VRML97 content.
VRMLBrowserJPanel(boolean vrml97Only, boolean showDash, boolean dashTop, boolean showUrl, boolean urlTop, boolean urlReadOnly, boolean showConsole, java.util.Properties browserSkin)
          Create an instance of the panel configured to show or hide the controls and only shows VRML97 content.
 
Method Summary
 void browserDisposed()
          The browser has been disposed.
 void browserInitialized(VRMLScene scene)
          The browser has been initialised with new content.
 void browserShutdown()
          The browser has been shut down and the previous content is no longer valid.
 void componentHidden(java.awt.event.ComponentEvent evt)
           
 void componentMoved(java.awt.event.ComponentEvent evt)
           
 void componentResized(java.awt.event.ComponentEvent evt)
           
 void componentShown(java.awt.event.ComponentEvent evt)
           
 void destroy()
          Called to instruct the component instance to destroy itself and any used resources.
 Browser getBrowser()
          Return the vrml.eai.Browser object which corresponds to this VrmlComponent, as required by the specification.
 BrowserCore getBrowserCore()
          Get the core browser implementation.
 java.awt.Canvas getCanvas()
          Get the AWT component holding this browser.
 ErrorReporter getErrorReporter()
          Fetch the error handler so that application code can post messages too.
 int getRendererType()
          Get the renderer type.
 VRMLScene getScene()
          Get the scene object being rendered by this panel.
 OGLVRMLUniverse getUniverse()
          Get the universe underlying this panel.
 void loadURL(java.lang.String url)
          Change the panels content to the provided URL.
 void setMinimumFrameInterval(int millis)
          Set the minimum frame interval time to limit the CPU resources taken up by the 3D renderer.
 void start()
          Called to instruct the component instance to start rendering now.
 void stop()
          Called to instruct the component instance to stop and suspend its state.
 int supportedSpecificationVersion()
          Get the spec version that is supported.
 void urlLoadFailed(java.lang.String msg)
          The tried to load a URL and failed.
 void viewpointSelected(org.j3d.ui.navigation.ViewpointData vp)
           
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, 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

VRMLBrowserJPanel

public VRMLBrowserJPanel(boolean showDash,
                         boolean dashTop,
                         boolean showUrl,
                         boolean urlTop,
                         boolean urlReadOnly,
                         boolean showConsole)
Create an instance of the panel configured to show or hide the controls and only shows VRML97 content.

Parameters:
showDash - true to show the navigation bar
dashTop - true to put the nav bar at the top
showUrl - true to show the URL location bar
urlTop - true to put the location bar at the top
urlReadOnly - true to make the location bar read only
showConsole - true if the console should be shown immediately

VRMLBrowserJPanel

public VRMLBrowserJPanel(boolean vrml97Only,
                         boolean showDash,
                         boolean dashTop,
                         boolean showUrl,
                         boolean urlTop,
                         boolean urlReadOnly,
                         boolean showConsole)
Create an instance of the panel configured to show or hide the controls and only shows VRML97 content.

Parameters:
vrml97Only - true if this is to be restricted to VRML97 only
showDash - true to show the navigation bar
dashTop - true to put the nav bar at the top
showUrl - true to show the URL location bar
urlTop - true to put the location bar at the top
urlReadOnly - true to make the location bar read only
showConsole - true if the console should be shown immediately

VRMLBrowserJPanel

public VRMLBrowserJPanel(boolean vrml97Only,
                         boolean showDash,
                         boolean dashTop,
                         boolean showUrl,
                         boolean urlTop,
                         boolean urlReadOnly,
                         boolean showConsole,
                         java.util.Properties browserSkin)
Create an instance of the panel configured to show or hide the controls and only shows VRML97 content.

Parameters:
vrml97Only - true if this is to be restricted to VRML97 only
showDash - true to show the navigation bar
dashTop - true to put the nav bar at the top
showUrl - true to show the URL location bar
urlTop - true to put the location bar at the top
urlReadOnly - true to make the location bar read only
showConsole - true if the console should be shown immediately
browserSkin - Properties defining browser appearance
Method Detail

getBrowser

public Browser getBrowser()
Return the vrml.eai.Browser object which corresponds to this VrmlComponent, as required by the specification.

Specified by:
getBrowser in interface VrmlComponent
Returns:
The vrml.eai.Browser object associated with this VrmlComponent

componentHidden

public void componentHidden(java.awt.event.ComponentEvent evt)
Specified by:
componentHidden in interface java.awt.event.ComponentListener

componentMoved

public void componentMoved(java.awt.event.ComponentEvent evt)
Specified by:
componentMoved in interface java.awt.event.ComponentListener

componentResized

public void componentResized(java.awt.event.ComponentEvent evt)
Specified by:
componentResized in interface java.awt.event.ComponentListener

componentShown

public void componentShown(java.awt.event.ComponentEvent evt)
Specified by:
componentShown in interface java.awt.event.ComponentListener

supportedSpecificationVersion

public int supportedSpecificationVersion()
Get the spec version that is supported.

Specified by:
supportedSpecificationVersion in interface BrowserComponent
Returns:
a number representing the spec major version

getCanvas

public java.awt.Canvas getCanvas()
Get the AWT component holding this browser.

Specified by:
getCanvas in interface BrowserComponent
Returns:
The component

getRendererType

public int getRendererType()
Get the renderer type.

Specified by:
getRendererType in interface BrowserComponent
Returns:
The BrowserCore type

getBrowserCore

public BrowserCore getBrowserCore()
Get the core browser implementation.

Specified by:
getBrowserCore in interface BrowserComponent
Returns:
the BrowserCore

getErrorReporter

public ErrorReporter getErrorReporter()
Fetch the error handler so that application code can post messages too.

Specified by:
getErrorReporter in interface BrowserComponent
Returns:
The current error handler instance

setMinimumFrameInterval

public void setMinimumFrameInterval(int millis)
Set the minimum frame interval time to limit the CPU resources taken up by the 3D renderer. By default it will use all of them.

Specified by:
setMinimumFrameInterval in interface BrowserComponent
Parameters:
millis - The minimum time in milleseconds.

start

public void start()
Called to instruct the component instance to start rendering now.

Specified by:
start in interface BrowserComponent

stop

public void stop()
Called to instruct the component instance to stop and suspend its state. The renderer should stop at this point.

Specified by:
stop in interface BrowserComponent

destroy

public void destroy()
Called to instruct the component instance to destroy itself and any used resources. It will not be used again.

Specified by:
destroy in interface BrowserComponent

viewpointSelected

public void viewpointSelected(org.j3d.ui.navigation.ViewpointData vp)
Specified by:
viewpointSelected in interface org.j3d.ui.navigation.ViewpointSelectionListener
See Also:
ViewpointSelectionListener.viewpointSelected(org.j3d.ui.navigation.ViewpointData)

browserInitialized

public void browserInitialized(VRMLScene scene)
The browser has been initialised with new content. The content given is found in the accompanying scene and description.

Specified by:
browserInitialized in interface BrowserCoreListener
Parameters:
scene - The scene of the new content

urlLoadFailed

public void urlLoadFailed(java.lang.String msg)
The tried to load a URL and failed. It is typically because none of the URLs resolved to anything valid or there were network failures.

Specified by:
urlLoadFailed in interface BrowserCoreListener
Parameters:
msg - An error message to go with the failure

browserShutdown

public void browserShutdown()
The browser has been shut down and the previous content is no longer valid.

Specified by:
browserShutdown in interface BrowserCoreListener

browserDisposed

public void browserDisposed()
The browser has been disposed.

Specified by:
browserDisposed in interface BrowserCoreListener

getScene

public VRMLScene getScene()
Get the scene object being rendered by this panel.

Returns:
The current scene.

getUniverse

public OGLVRMLUniverse getUniverse()
Get the universe underlying this panel.

Returns:
The universe.

loadURL

public void loadURL(java.lang.String url)
             throws java.io.IOException
Change the panels content to the provided URL.

Parameters:
url - The URL to load.
Throws:
java.io.IOException - On a failed load

Xj3D VRML/X3D Code API

Copyright © 2001 - 2005 Web3D Consortium