Xj3D 2.0 VRML/X3D Code API

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

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.xj3d.ui.awt.browser.ogl.BrowserJPanel
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.util.EventListener, javax.accessibility.Accessible, BrowserComponent, BrowserCoreListener
Direct Known Subclasses:
VRMLBrowserJPanel, X3DBrowserJPanel

public abstract class BrowserJPanel
extends javax.swing.JPanel
implements BrowserComponent, BrowserCoreListener, java.awt.event.ComponentListener, java.awt.event.WindowListener, java.awt.event.KeyListener

Common Swing JPanel implementation of the browser component for use in either SAI or EAI, that wraps the functionality of a VRML browser into a convenient, easy to use form.

This base class needs to be extended to provide the SAI or EAI-specific implementation interfaces, as well as any startup required for both of those environments, such as scripting engines etc.

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

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
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  SwingConsoleWindow console
          Area to push error messages to
protected  CursorManager cursorManager
          The cursorManager
protected  SwingLocationToolbar locToolbar
          The toolbar holding location information
protected  OGLBrowserCanvas mainCanvas
          The canvas used to display the world
protected  SwingNavigationToolbar navToolbar
          The toolbar holding navigation information
protected  SwingStatusBar statusBar
          The status bar
protected  OGLStandardBrowserCore universe
          The internal universe
 
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
protected BrowserJPanel(BrowserConfig parameters)
          Create an instance of the panel configured to show or hide the controls and only shows VRML97 content.
 
Method Summary
 void addNotify()
          This panel, or a container in which it 'lives' is being added to a parent.
 void browserDisposed()
          The browser has been disposed by the user calling the dispose method on the ExternalBrowser instance.
 void browserInitialized(VRMLScene scene)
          Ignored.
 void browserShutdown()
          Ignored.
 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.
 BrowserCore getBrowserCore()
          Get the core browser implementation.
 java.lang.Object getCanvas()
          Get the AWT component holding this browser.
 boolean getElumensMode()
          Is Elumens mode enabled?
 ErrorReporter getErrorReporter()
          Fetch the error handler so that application code can post messages too.
 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 removeNotify()
          This panel, or a container in which it 'lives' is being removed from it's parent.
 void setElumensMode(boolean enabled)
          Enable elumens mode.
 void setMinimumFrameInterval(int millis, boolean userSet)
          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)
          Ignored.
 void windowActivated(java.awt.event.WindowEvent evt)
          The window has been given focus.
 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 minimized.
 void windowOpened(java.awt.event.WindowEvent evt)
          The window has opened, so requst input focus.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, 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, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, 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
 

Field Detail

navToolbar

protected SwingNavigationToolbar navToolbar
The toolbar holding navigation information


locToolbar

protected SwingLocationToolbar locToolbar
The toolbar holding location information


statusBar

protected SwingStatusBar statusBar
The status bar


console

protected SwingConsoleWindow console
Area to push error messages to


mainCanvas

protected OGLBrowserCanvas mainCanvas
The canvas used to display the world


cursorManager

protected CursorManager cursorManager
The cursorManager


universe

protected OGLStandardBrowserCore universe
The internal universe

Constructor Detail

BrowserJPanel

protected BrowserJPanel(BrowserConfig parameters)
Create an instance of the panel configured to show or hide the controls and only shows VRML97 content.

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

removeNotify

public void removeNotify()
This panel, or a container in which it 'lives' is being removed from it's parent. Inform the canvas to stop rendering before it's removeNotify() method is called, otherwise the ui will lockup.

Overrides:
removeNotify in class javax.swing.JComponent

addNotify

public void addNotify()
This panel, or a container in which it 'lives' is being added to a parent. Inform the canvas to start rendering. By default the canvas should be enabled initially. This method is in place to restart rendering in the instance that the component has been removed and is being reinserted into the ui.

Overrides:
addNotify in class javax.swing.JComponent

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

windowActivated

public void windowActivated(java.awt.event.WindowEvent evt)
The window has been given focus.

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

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 that caused the method to be called.

windowIconified

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

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

windowOpened

public void windowOpened(java.awt.event.WindowEvent evt)
The window has opened, so requst input focus.

Specified by:
windowOpened in interface java.awt.event.WindowListener
Parameters:
evt - The window event that caused the 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

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

browserShutdown

public void browserShutdown()
Ignored. Notification that the browser is shutting down the current content.

Specified by:
browserShutdown in interface BrowserCoreListener

browserDisposed

public void browserDisposed()
The browser has been disposed by the user calling the dispose method on the ExternalBrowser instance. Release our reference to the browser core.

Specified by:
browserDisposed in interface BrowserCoreListener

urlLoadFailed

public void urlLoadFailed(java.lang.String msg)
Ignored. The browser tried to load a URL and failed.

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

browserInitialized

public void browserInitialized(VRMLScene scene)
Ignored. Notification that a world has been loaded into the browser.

Specified by:
browserInitialized in interface BrowserCoreListener
Parameters:
scene - The new scene that has been loaded

setElumensMode

public void setElumensMode(boolean enabled)
Enable elumens mode.

Parameters:
enabled - Whether the mode is enabled.

getElumensMode

public boolean getElumensMode()
Is Elumens mode enabled?

Returns:
Whether the mode is enabled.

Xj3D 2.0 VRML/X3D Code API

Copyright © 2001 - 2006 Web3D Consortium