Class AWTAdapter
- All Implemented Interfaces:
EventListener
- Direct Known Subclasses:
AWTKeyAdapter,AWTMouseAdapter,AWTWindowAdapter
You may attach an instance of this adapter to an AWT Component. When an event happens,
it is converted to a NEWT event and the given NEWT listener is being called.
This adapter fullfills three use cases. First as a plain utility to write code AWT agnostic,
ie write an com.jogamp.opengl.GLEvenListener and some appropriate NEWT NEWTEventListener.
Attach the com.jogamp.opengl.GLEvenListener to a NEWT GLAutoDrawable, e.g. GLWindow,
or to an AWT GLAutoDrawable, e.g. GLCanvas.
Attach the NEWT NEWTEventListener to a NEWT component, e.g. Window,
or to an AWT component, e.g. Component.
Common:
// your demo/render code
com.jogamp.opengl.GLEvenListener demo1 = new com.jogamp.opengl.GLEvenListener() { ... } ;
// your AWT agnostic NEWT mouse listener code
com.jogamp.newt.event.MouseListener mouseListener = new com.jogamp.newt.event.MouseAdapter() { ... } ;
Default NEWT use case, without using the AWTAdapter:
// the NEWT GLAutoDrawable and Window
GLWindow glWindow = GLWindow.create();
// attach the renderer demo1
glWindow.addGLEventListener(demo1);
// attach the NEWT mouse event listener to glWindow
glWindow.addMouseListener(mouseListener);
AWT use case, AWTAdapter used as an AWT event translator and forwarder to your NEWT listener:
// the AWT GLAutoDrawable and Canvas
GLCanvas glCanvas = new GLCanvas();
// attach the renderer demo1
glCanvas.addGLEventListener(demo1);
// attach the AWTMouseAdapter to glCanvas, which translates and forwards events to the NEWT mouseListener
new AWTMouseAdapter(mouseListener).addTo(glCanvas);
Previous code in detail:
AWTMouseAdapter mouseAdapter = new AWTMouseAdapter(mouseListener);
glCanvas.addMouseListener(mouseAdapter);
glCanvas.addMouseMotionListener(mouseAdapter);
Second use case is just a litte variation of the previous use case, where we pass a NEWT Window
to be used as the source of the event.
com.jogamp.newt.event.MouseListener mouseListener = new com.jogamp.newt.event.MouseAdapter() { ... } ;
Component comp = ... ; // the AWT component
GLWindow glWindow = GLWindow.create(); // the NEWT component
new AWTMouseAdapter(mouseListener, glWindow).addTo(comp);
Last but not least, the AWTAdapter maybe used as a general AWT event forwarder to NEWT.
com.jogamp.newt.event.MouseListener mouseListener = new com.jogamp.newt.event.MouseAdapter() { ... } ;
Component comp = ... ; // the AWT component
GLWindow glWindow = GLWindow.create(); // the NEWT component
glWindow.addMouseListener(mouseListener); // add the custom EventListener to the NEWT component
new AWTMouseAdapter(glWindow).addTo(comp); // forward all AWT events to glWindow, as NEWT events
- See Also:
-
#attachTo
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract AWTAdapterDue to the fact that some NEWTNEWTEventListenerare mapped to more than oneEventListener, this method is for your convenience to use this Adapter as a listener for all types.
E.g.clear()Removes all references, downstream and NEWT-EventListener.final NativeSurfaceHolderReturns theNativeSurfaceHolderactingas downstream,NEWT window proxyor as anNativeSurfaceHolder proxy.final NEWTEventListenerReturns theNEWT event-listenerif instance is used as anNativeSurfaceHolder proxyorNEWT window proxy, otherwise method returnsnull.final Windowabstract AWTAdapterremoveFrom(Component awtComponent) final voidsetConsumeAWTEvent(boolean v) setDownstream(Window downstream) Setup a pipeline adapter, AWT EventListener.
Once attached to an AWT component, it sends the converted AWT events to the NEWT downstream window.
This is only supported with EDT enabled!
-
Field Details
-
DEBUG_IMPLEMENTATION
public static final boolean DEBUG_IMPLEMENTATION
-
-
Constructor Details
-
AWTAdapter
public AWTAdapter()
-
-
Method Details
-
setDownstream
Setup a pipeline adapter, AWT EventListener.
Once attached to an AWT component, it sends the converted AWT events to the NEWT downstream window.
This is only supported with EDT enabled!- Throws:
IllegalStateException- if EDT is not enabled
-
clear
Removes all references, downstream and NEWT-EventListener.Also sets the internal
setupflag andsetConsumeAWTEvent(boolean)tofalse. -
setConsumeAWTEvent
public final void setConsumeAWTEvent(boolean v) -
getNativeSurfaceHolder
Returns theNativeSurfaceHolderactingas downstream,NEWT window proxyor as anNativeSurfaceHolder proxy.Returned value is never null.
-
getNewtWindow
Returns theNEWT Windowactingas downstreamor as aNEWT window proxy.Returned value maybe null if instance is used to be a
NativeSurfaceHolder proxy. -
getNewtEventListener
Returns theNEWT event-listenerif instance is used as anNativeSurfaceHolder proxyorNEWT window proxy, otherwise method returnsnull. -
addTo
Due to the fact that some NEWTNEWTEventListenerare mapped to more than oneEventListener, this method is for your convenience to use this Adapter as a listener for all types.
E.g.MouseListeneris mapped toMouseListenerandMouseMotionListener. -
removeFrom
- See Also:
-