Package com.im.ijc.core.api.canvas
Interface CanvasWidgetHandler
-
public interface CanvasWidgetHandler
Canvas widget event handler - Java API.Supports custom drawing functionality - for example can draw molecule mass spectrum, custom charts, etc. Interactivity is enabled by listening on mouse and keyboard events.
Must be implemented as a NetBeans
ServiceProvider
to be found. Example:@ServiceProvider(service = CanvasWidgetHandler.class) public class ExampleWidget implements CanvasWidgetHandler { @Override public void onInit(IJCWidget widget, JPanel canvas, Map
config) { canvas.setOpaque(true); canvas.setBackground(Color.white); retrieveData(widget.getForm().getResultSet()); } @Override public void onVertexStateChange(IJCWidget widget, JPanel canvas) { retrieveData(widget.getForm().getResultSet()); canvas.repaint(); } @Override public void onPaintComponent(IJCWidget widget, JPanel canvas, Graphics g) { ... custom drawing of retrieved data ... } } - Since:
- 20.18.0
-
-
Method Summary
All Methods Instance Methods Default Methods Modifier and Type Method Description default void
onDestroy(IJCWidget widget, javax.swing.JPanel canvas, boolean release)
Called on form suspend or close.default void
onEDPChange(IJCWidget widget, javax.swing.JPanel canvas)
Called on entity data provider change - after data update or view reload.default void
onInit(IJCWidget widget, javax.swing.JPanel canvas, java.util.Map<java.lang.String,java.lang.Object> config)
Called on form open or resume.default void
onKeyPressed(IJCWidget widget, javax.swing.JPanel canvas, java.awt.event.KeyEvent event)
Invoked when a key has been pressed (on a selected canvas component).default void
onKeyReleased(IJCWidget widget, javax.swing.JPanel canvas, java.awt.event.KeyEvent event)
Invoked when a key has been released (on a selected canvas component).default void
onKeyTyped(IJCWidget widget, javax.swing.JPanel canvas, java.awt.event.KeyEvent event)
Invoked when a key has been typed (on a selected canvas component).default void
onMouseClicked(IJCWidget widget, javax.swing.JPanel canvas, java.awt.event.MouseEvent event)
Invoked when the mouse button has been clicked (pressed and released) on a canvas component.default void
onMouseDragged(IJCWidget widget, javax.swing.JPanel canvas, java.awt.event.MouseEvent event)
Invoked when a mouse button is pressed on a canvas component and then dragged.default void
onMouseEntered(IJCWidget widget, javax.swing.JPanel canvas, java.awt.event.MouseEvent event)
Invoked when the mouse enters a canvas component.default void
onMouseExited(IJCWidget widget, javax.swing.JPanel canvas, java.awt.event.MouseEvent event)
Invoked when the mouse exits a canvas component.default void
onMouseMoved(IJCWidget widget, javax.swing.JPanel canvas, java.awt.event.MouseEvent event)
Invoked when the mouse cursor has been moved onto a canvas component but no buttons have been pushed.default void
onMousePressed(IJCWidget widget, javax.swing.JPanel canvas, java.awt.event.MouseEvent event)
Invoked when a mouse button has been pressed on a canvas component.default void
onMouseReleased(IJCWidget widget, javax.swing.JPanel canvas, java.awt.event.MouseEvent event)
Invoked when a mouse button has been released on a canvas component.default void
onMouseWheelMoved(IJCWidget widget, javax.swing.JPanel canvas, java.awt.event.MouseWheelEvent event)
Invoked when the mouse wheel is rotated.default void
onPaintComponent(IJCWidget widget, javax.swing.JPanel canvas, java.awt.Graphics g)
Called inpaintComponent()
of canvas component.default void
onPrintRow(IJCWidget widget, java.lang.Comparable<?> rowId)
Called during printing of a single row.default void
onVertexStateChange(IJCWidget widget, javax.swing.JPanel canvas)
Called on vertex state change - after query, selection change, sort change, etc.
-
-
-
Method Detail
-
onInit
default void onInit(IJCWidget widget, javax.swing.JPanel canvas, java.util.Map<java.lang.String,java.lang.Object> config)
Called on form open or resume. Also called during Event handler setup in Customizer. Responsible for data retrieval.- Parameters:
widget
- IJC widget - has access to current result set and vertex statecanvas
- drawing componentconfig
- configuration which was set in a Widget Customizer
-
onDestroy
default void onDestroy(IJCWidget widget, javax.swing.JPanel canvas, boolean release)
Called on form suspend or close. Responsible for resources clean-up.- Parameters:
widget
- IJC widgetcanvas
- drawing componentrelease
-false
on form suspend,true
on form close
-
onVertexStateChange
default void onVertexStateChange(IJCWidget widget, javax.swing.JPanel canvas)
Called on vertex state change - after query, selection change, sort change, etc. Responsible for data retrieval andcanvas.repaint()
.- Parameters:
widget
- IJC widget - has access to current result set and vertex statecanvas
- drawing component
-
onEDPChange
default void onEDPChange(IJCWidget widget, javax.swing.JPanel canvas)
Called on entity data provider change - after data update or view reload. Responsible for data retrieval andcanvas.repaint()
.- Parameters:
widget
- IJC widget - has access to current result set and vertex statecanvas
- drawing component
-
onPaintComponent
default void onPaintComponent(IJCWidget widget, javax.swing.JPanel canvas, java.awt.Graphics g)
Called inpaintComponent()
of canvas component. Responsible for custom drawing.- Parameters:
widget
- IJC widgetcanvas
- drawing componentg
- graphics
-
onPrintRow
default void onPrintRow(IJCWidget widget, java.lang.Comparable<?> rowId)
Called during printing of a single row. First, this method is called and thenonPaintComponent(com.im.ijc.core.api.views.IJCWidget,javax.swing.JPanel,java.awt.Graphics)
is called. Responsible for data retrieval.- Parameters:
widget
- IJC widgetrowId
- printed row id
-
onMouseClicked
default void onMouseClicked(IJCWidget widget, javax.swing.JPanel canvas, java.awt.event.MouseEvent event)
Invoked when the mouse button has been clicked (pressed and released) on a canvas component.- Parameters:
widget
- IJC widgetcanvas
- drawing componentevent
- invoked mouse event
-
onMousePressed
default void onMousePressed(IJCWidget widget, javax.swing.JPanel canvas, java.awt.event.MouseEvent event)
Invoked when a mouse button has been pressed on a canvas component.
-
onMouseReleased
default void onMouseReleased(IJCWidget widget, javax.swing.JPanel canvas, java.awt.event.MouseEvent event)
Invoked when a mouse button has been released on a canvas component.
-
onMouseEntered
default void onMouseEntered(IJCWidget widget, javax.swing.JPanel canvas, java.awt.event.MouseEvent event)
Invoked when the mouse enters a canvas component.
-
onMouseExited
default void onMouseExited(IJCWidget widget, javax.swing.JPanel canvas, java.awt.event.MouseEvent event)
Invoked when the mouse exits a canvas component.
-
onMouseDragged
default void onMouseDragged(IJCWidget widget, javax.swing.JPanel canvas, java.awt.event.MouseEvent event)
Invoked when a mouse button is pressed on a canvas component and then dragged.
-
onMouseMoved
default void onMouseMoved(IJCWidget widget, javax.swing.JPanel canvas, java.awt.event.MouseEvent event)
Invoked when the mouse cursor has been moved onto a canvas component but no buttons have been pushed.
-
onMouseWheelMoved
default void onMouseWheelMoved(IJCWidget widget, javax.swing.JPanel canvas, java.awt.event.MouseWheelEvent event)
Invoked when the mouse wheel is rotated.
-
onKeyTyped
default void onKeyTyped(IJCWidget widget, javax.swing.JPanel canvas, java.awt.event.KeyEvent event)
Invoked when a key has been typed (on a selected canvas component).- Parameters:
widget
- IJC widgetcanvas
- drawing componentevent
- invoked key event
-
onKeyPressed
default void onKeyPressed(IJCWidget widget, javax.swing.JPanel canvas, java.awt.event.KeyEvent event)
Invoked when a key has been pressed (on a selected canvas component).
-
onKeyReleased
default void onKeyReleased(IJCWidget widget, javax.swing.JPanel canvas, java.awt.event.KeyEvent event)
Invoked when a key has been released (on a selected canvas component).
-
-