Xj3D VRML/X3D Code API

org.web3d.ogl.browser
Class X3DBrowserAWTPanel

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Panel
              extended byorg.web3d.ogl.browser.X3DBrowserAWTPanel
All Implemented Interfaces:
javax.accessibility.Accessible, BrowserComponent, java.awt.event.ComponentListener, java.util.EventListener, FileHandler, java.awt.image.ImageObserver, java.awt.event.KeyListener, java.awt.MenuContainer, java.lang.Runnable, java.io.Serializable, org.j3d.ui.navigation.ViewpointSelectionListener, java.awt.event.WindowListener, X3DComponent

public class X3DBrowserAWTPanel
extends java.awt.Panel
implements X3DComponent, BrowserComponent, org.j3d.ui.navigation.ViewpointSelectionListener, java.awt.event.KeyListener, java.awt.event.ComponentListener, java.awt.event.WindowListener, java.lang.Runnable, FileHandler

A brower that uses the AWT panel and labels to draw render the UI with.

X3DBrowserAWTPanel is the AWT based alternative to BrowserJPanel. At the moment, it offers minimal functionality. The "dashboard" is a text label, there aren't any navigation functions. That, and urlReadOnly, urlTop, and dashTop are ignored.

Version:
$Revision: 1.17 $
Author:
Brad Vender, Justin Couch
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class java.awt.Panel
java.awt.Panel.AccessibleAWTPanel
 
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 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
X3DBrowserAWTPanel(boolean vrml97Only, boolean showDash, boolean dashTop, boolean showUrl, boolean urlTop, boolean urlReadOnly, boolean showConsole, boolean showOpenButton, boolean showReloadButton, boolean showStatusBar, boolean showFPS, java.lang.String contentDirectory, boolean antialiased, java.lang.String antialiasingQuality, java.lang.String primitiveQuality, java.lang.String textureQuality)
          Create an instance of the panel configured to show or hide the controls and only shows VRML97 content.
X3DBrowserAWTPanel(boolean vrml97Only, boolean showDash, boolean dashTop, boolean showUrl, boolean urlTop, boolean urlReadOnly, boolean showConsole, boolean showOpenButton, boolean showReloadButton, boolean showStatusBar, boolean showFPS, java.lang.String contentDirectory, boolean antialiased, java.lang.String antialiasingQuality, java.lang.String primitiveQuality, java.lang.String textureQuality, java.util.Properties skinProperties)
          Create a VrmlComponent that belongs to an AWT panel.
X3DBrowserAWTPanel(boolean showDash, boolean dashTop, boolean showUrl, boolean urlTop, boolean urlReadOnly, boolean showConsole, boolean showOpenButton, boolean showReloadButton, boolean showStatusBar, boolean showFPS, java.lang.String contentDirectory, boolean antialiased, java.lang.String antialiasingQuality, java.lang.String primitiveQuality, java.lang.String textureQuality)
          Create an instance of the panel configured to show or hide the controls and only shows VRML97 content.
 
Method Summary
 void componentHidden(java.awt.event.ComponentEvent evt)
          Invoked when the component has been made invisible.
 void componentMoved(java.awt.event.ComponentEvent evt)
          Invoked when the component's position changes.
 void componentResized(java.awt.event.ComponentEvent evt)
          Invoked when the component's size changes.
 void componentShown(java.awt.event.ComponentEvent evt)
          Invoked when the component has been made visible.
 void destroy()
          Called to instruct the component instance to destroy itself and any used resources.
 ExternalBrowser 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.
 java.lang.Object getImplementation()
          Get a reference to the component implementation.
 int getRendererType()
          Get the renderer type.
 void keyPressed(java.awt.event.KeyEvent e)
          Notification that a key is pressed.
 void keyReleased(java.awt.event.KeyEvent e)
          Notification that a key is released.
 void keyTyped(java.awt.event.KeyEvent e)
          Notification that a key is typed (press and release).
 void loadURL(java.lang.String url)
          Change the panels content to the provided URL.
 void postDraw(net.java.games.jogl.GLDrawable drawable, java.lang.Object userData)
          Perform any post-rendering actions that you may need for this scene.
 void preDraw(net.java.games.jogl.GLDrawable drawable, java.lang.Object userData)
          Perform any pre-rendering setup that you may need for this scene.
 void run()
          Thread to update frames per second and status bar.
 void setMinimumFrameInterval(int millis)
          Set the minimum frame interval time to limit the CPU resources taken up by the 3D renderer.
 void shutdown()
          Shutdown the component because it will no longer be needed.
 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 viewpointSelected(org.j3d.ui.navigation.ViewpointData vp)
          A new viewpoint has been selected and this is it.
 void windowActivated(java.awt.event.WindowEvent evt)
          Ignored
 void windowClosed(java.awt.event.WindowEvent evt)
          Ignored
 void windowClosing(java.awt.event.WindowEvent evt)
          Ignored
 void windowDeactivated(java.awt.event.WindowEvent evt)
          Ignored
 void windowDeiconified(java.awt.event.WindowEvent evt)
          Invoked when a window is changed from a minimized to a normal state.
 void windowIconified(java.awt.event.WindowEvent evt)
          Invoked when a window is changed from a normal state to minimzed.
 void windowOpened(java.awt.event.WindowEvent evt)
          Ignored
 
Methods inherited from class java.awt.Panel
addNotify, getAccessibleContext
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, update, 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, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, 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, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, 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

X3DBrowserAWTPanel

public X3DBrowserAWTPanel(boolean showDash,
                          boolean dashTop,
                          boolean showUrl,
                          boolean urlTop,
                          boolean urlReadOnly,
                          boolean showConsole,
                          boolean showOpenButton,
                          boolean showReloadButton,
                          boolean showStatusBar,
                          boolean showFPS,
                          java.lang.String contentDirectory,
                          boolean antialiased,
                          java.lang.String antialiasingQuality,
                          java.lang.String primitiveQuality,
                          java.lang.String textureQuality)
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
antialiased - true to turn on antialiasing
antialiasingQuality - low, medium, high, antialiasing must be turned on for this to matter.
primitiveQuality - low, medium, high.
textureQuality - low, medium, high.

X3DBrowserAWTPanel

public X3DBrowserAWTPanel(boolean vrml97Only,
                          boolean showDash,
                          boolean dashTop,
                          boolean showUrl,
                          boolean urlTop,
                          boolean urlReadOnly,
                          boolean showConsole,
                          boolean showOpenButton,
                          boolean showReloadButton,
                          boolean showStatusBar,
                          boolean showFPS,
                          java.lang.String contentDirectory,
                          boolean antialiased,
                          java.lang.String antialiasingQuality,
                          java.lang.String primitiveQuality,
                          java.lang.String textureQuality)
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
showStatusBar - true to show a status bar
showFPS - true to show the current FPS
contentDirectory - initial directory to load content from. Must be a full path.
antialiased - true to turn on antialiasing
antialiasingQuality - low, medium, high, antialiasing must be turned on for this to matter.
primitiveQuality - low, medium, high.
textureQuality - low, medium, high.

X3DBrowserAWTPanel

public X3DBrowserAWTPanel(boolean vrml97Only,
                          boolean showDash,
                          boolean dashTop,
                          boolean showUrl,
                          boolean urlTop,
                          boolean urlReadOnly,
                          boolean showConsole,
                          boolean showOpenButton,
                          boolean showReloadButton,
                          boolean showStatusBar,
                          boolean showFPS,
                          java.lang.String contentDirectory,
                          boolean antialiased,
                          java.lang.String antialiasingQuality,
                          java.lang.String primitiveQuality,
                          java.lang.String textureQuality,
                          java.util.Properties skinProperties)
Create a VrmlComponent that belongs to an AWT panel. and in that process construct the corresponding Browser, and the infrastructure required.

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
skinProperties - The properties object to configure appearance with
showStatusBar - true to show a status bar
showFPS - true to show the current FPS
contentDirectory - initial directory to load content from. Must be a full path.
antialiased - true to turn on antialiasing
antialiasingQuality - low, medium, high, antialiasing must be turned on for this to matter.
primitiveQuality - low, medium, high.
textureQuality - low, medium, high.
Method Detail

preDraw

public void preDraw(net.java.games.jogl.GLDrawable drawable,
                    java.lang.Object userData)
Perform any pre-rendering setup that you may need for this scene. After this call, all normal scene graph rendering is performed by the surface.

Parameters:
drawable - The output surface that is being drawn to
userData - Some identifiable data provided by the user

postDraw

public void postDraw(net.java.games.jogl.GLDrawable drawable,
                     java.lang.Object userData)
Perform any post-rendering actions that you may need for this scene. Called after the renderer has completed all drawing and just before the buffer swap. The only thing to be called after calling this method is glFlush().

Parameters:
drawable - The output surface that is being drawn to
userData - Some identifiable data provided by the user

getBrowser

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

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

getImplementation

public java.lang.Object getImplementation()
Description copied from interface: X3DComponent
Get a reference to the component implementation. For example, if this is an AWT component, it would return an instance of Component.

Specified by:
getImplementation in interface X3DComponent
See Also:
X3DComponent.getImplementation()

shutdown

public void shutdown()
Description copied from interface: X3DComponent
Shutdown the component because it will no longer be needed. If the component has already had this method called, it will silently ignore any further requests.

Specified by:
shutdown in interface X3DComponent
See Also:
X3DComponent.shutdown()

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)
A new viewpoint has been selected and this is it. Move to this viewpoint location according to the requested means. Basically copied from BrowserJPanel.

Specified by:
viewpointSelected in interface org.j3d.ui.navigation.ViewpointSelectionListener
Parameters:
vp - The new viewpoint to use

keyPressed

public void keyPressed(java.awt.event.KeyEvent e)
Notification that a key is pressed.

Specified by:
keyPressed in interface java.awt.event.KeyListener
Parameters:
e - The event that caused this method to be called

keyReleased

public void keyReleased(java.awt.event.KeyEvent e)
Notification that a key is released.

Specified by:
keyReleased in interface java.awt.event.KeyListener
Parameters:
e - The event that caused this method to be called

keyTyped

public void keyTyped(java.awt.event.KeyEvent e)
Notification that a key is typed (press and release).

Specified by:
keyTyped in interface java.awt.event.KeyListener
Parameters:
e - The event that caused this method to be called

componentHidden

public void componentHidden(java.awt.event.ComponentEvent evt)
Invoked when the component has been made invisible.

Specified by:
componentHidden in interface java.awt.event.ComponentListener
Parameters:
evt - The event

componentMoved

public void componentMoved(java.awt.event.ComponentEvent evt)
Invoked when the component's position changes.

Specified by:
componentMoved in interface java.awt.event.ComponentListener
Parameters:
evt - The event

componentResized

public void componentResized(java.awt.event.ComponentEvent evt)
Invoked when the component's size changes.

Specified by:
componentResized in interface java.awt.event.ComponentListener
Parameters:
evt - The event

componentShown

public void componentShown(java.awt.event.ComponentEvent evt)
Invoked when the component has been made visible.

Specified by:
componentShown in interface java.awt.event.ComponentListener
Parameters:
evt - The event

windowActivated

public void windowActivated(java.awt.event.WindowEvent evt)
Ignored

Specified by:
windowActivated in interface java.awt.event.WindowListener

windowClosed

public void windowClosed(java.awt.event.WindowEvent evt)
Ignored

Specified by:
windowClosed in interface java.awt.event.WindowListener

windowClosing

public void windowClosing(java.awt.event.WindowEvent evt)
Ignored

Specified by:
windowClosing in interface java.awt.event.WindowListener

windowDeactivated

public void windowDeactivated(java.awt.event.WindowEvent evt)
Ignored

Specified by:
windowDeactivated in interface java.awt.event.WindowListener

windowDeiconified

public void windowDeiconified(java.awt.event.WindowEvent evt)
Invoked when a window is changed from a minimized to a normal state.

Specified by:
windowDeiconified in interface java.awt.event.WindowListener
Parameters:
evt - The window event.

windowIconified

public void windowIconified(java.awt.event.WindowEvent evt)
Invoked when a window is changed from a normal state to minimzed.

Specified by:
windowIconified in interface java.awt.event.WindowListener
Parameters:
evt - The window event.

windowOpened

public void windowOpened(java.awt.event.WindowEvent evt)
Ignored

Specified by:
windowOpened in interface java.awt.event.WindowListener

loadURL

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

Specified by:
loadURL in interface FileHandler
Parameters:
url - The URL to load.
Throws:
java.io.IOException - On a failed load or badly formatted URL

run

public void run()
Thread to update frames per second and status bar.

Specified by:
run in interface java.lang.Runnable

Xj3D VRML/X3D Code API

Copyright © 2001 - 2005 Web3D Consortium