Xj3D VRML/X3D Code API

org.web3d.j3d.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.j3d.browser.VRMLBrowserJPanel
All Implemented Interfaces:
javax.accessibility.Accessible, BrowserComponent, BrowserCoreListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, VrmlComponent

public class VRMLBrowserJPanel
extends javax.swing.JPanel
implements VrmlComponent, BrowserComponent, BrowserCoreListener

A swing panel that implements a single view browser using Java3D as the VRML renderer.

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.35 $
Author:
Justin Couch
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 showViewpoints, boolean urlTop, boolean urlReadOnly, boolean showConsole, java.util.Properties skinProperties)
          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 showViewpoints, boolean urlTop, boolean urlReadOnly, boolean showConsole, java.util.Properties skinProperties, int serverPortNumber)
          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 skinProperties)
          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 destroy()
          Called to instruct the component instance to destroy itself and any used resources.
 Browser getBrowser()
          Get a browser reference from this component that represents the internals of this browser.
 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.
 VRMLUniverse 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.
 
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 skinProperties)
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 showViewpoints,
                         boolean urlTop,
                         boolean urlReadOnly,
                         boolean showConsole,
                         java.util.Properties skinProperties)
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
showViewpoints - true to show the viewpoint 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 showViewpoints,
                         boolean urlTop,
                         boolean urlReadOnly,
                         boolean showConsole,
                         java.util.Properties skinProperties,
                         int serverPortNumber)
                  throws java.io.IOException
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
showViewpoints - true to show the viewpoint 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
serverPortNumber - The port to listen for incoming data on
Throws:
java.io.IOException
Method Detail

getBrowser

public Browser getBrowser()
Get a browser reference from this component that represents the internals of this browser.

Specified by:
getBrowser in interface VrmlComponent
Returns:
A reference to the browser object represented by this component.

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

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 VRMLUniverse 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