Xj3D 2.0 VRML/X3D Code API

org.xj3d.ui.awt.browser.ogl
Class X3DBrowserAWTPanel

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

public class X3DBrowserAWTPanel
extends java.awt.Panel
implements X3DComponent, BrowserComponent, 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.9 $
Author:
Brad Vender, Justin Couch
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.awt.Panel
java.awt.Panel.AccessibleAWTPanel
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  CursorManager cursorManager
          The cursorManager
 
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(BrowserConfig parameters)
          Create a VrmlComponent that belongs to an AWT panel.
 
Method Summary
 void addNotify()
          Override addNotify so we know we have peer before calling setEnabled for Aviatrix3D.
 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.lang.Object 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 run()
          Thread to update frames per second and status bar.
 void setMinimumFrameInterval(int millis, boolean userSet)
          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 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 normal state to minimzed.
 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
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, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, firePropertyChange, firePropertyChange, firePropertyChange, 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, getMousePosition, 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, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, 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, setMaximumSize, setMinimumSize, setName, setPreferredSize, 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
 

Field Detail

cursorManager

protected CursorManager cursorManager
The cursorManager

Constructor Detail

X3DBrowserAWTPanel

public X3DBrowserAWTPanel(BrowserConfig parameters)
Create a VrmlComponent that belongs to an AWT panel. and in that process construct the corresponding Browser, and the infrastructure required.

Parameters:
parameters - The object containing the browser's configuration parameters
Method Detail

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.lang.Object 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
Specified by:
getErrorReporter in interface FileHandler
Returns:
The current error handler instance

setMinimumFrameInterval

public void setMinimumFrameInterval(int millis,
                                    boolean userSet)
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. The second parameter is used to control whether this is a user-set hard minimum or something set by the browser internals. User set values are always treated as the minimum unless the browser internals set a value that is a slower framerate than the user set. If the browser then sets a faster framerate than the user set value, the user value is used instead.

Specified by:
setMinimumFrameInterval in interface BrowserComponent
Parameters:
millis - The minimum time in milleseconds.
userSet - true if this is an end-user set minimum

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

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 normal state to minimzed.

Specified by:
windowDeiconified in interface java.awt.event.WindowListener
Parameters:
evt - The event that caused this method to be called

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

addNotify

public void addNotify()
Override addNotify so we know we have peer before calling setEnabled for Aviatrix3D.

Overrides:
addNotify in class java.awt.Panel

Xj3D 2.0 VRML/X3D Code API

Copyright © 2001 - 2006 Web3D Consortium