public class MouseTracker
extends java.lang.Object
GUIElement
.
XXX: some delivered MouseEvents are not relative to the underlying GUIElement.
Modifier and Type | Field and Description |
---|---|
private AbstractGUIElement |
activeComponent
The active component.
|
private static int |
CLICK_DISTANCE
The maximum distance the mouse may have moved between the mouse pressed
and the mouse released even to generate a mouse clicked event.
|
private java.awt.Point |
clickPosition
The position that was clicked if
isClicked is set. |
private boolean |
debugGui
Whether GUI elements should be highlighted.
|
private java.io.Writer |
debugMouse
The
Writer to write mouse debug to or null . |
private boolean |
isClicked
Whether a button release event is considered a "click".
|
private boolean |
isDragging
Whether a dragging operation is in progress.
|
private GUIElement |
mouseElement
The gui element in which the mouse is.
|
private java.text.DateFormat |
simpleDateFormat
A formatter for timestamps.
|
Constructor and Description |
---|
MouseTracker(boolean debugGui,
java.io.Writer debugMouse)
Creates a new instance.
|
Modifier and Type | Method and Description |
---|---|
private void |
debugMouseWrite(java.lang.CharSequence message)
Writes a message to the mouse debug.
|
private void |
enterElement(AbstractGUIElement element,
java.awt.event.MouseEvent e)
Sets a new
mouseElement and generate entered/exited events. |
void |
mouseClicked(AbstractGUIElement element,
java.awt.event.MouseEvent e)
Handles a mouse clicked event.
|
void |
mouseDragged(GUIElement element,
java.awt.event.MouseEvent e)
Handles a mouse dragged event.
|
void |
mouseEntered(AbstractGUIElement element,
java.awt.event.MouseEvent e)
Handles a mouse entered event.
|
void |
mouseExited(java.awt.event.MouseEvent e)
Handles a mouse exited event.
|
void |
mouseMoved(AbstractGUIElement element,
java.awt.event.MouseEvent e)
Handles a mouse moved event.
|
void |
mousePressed(AbstractGUIElement element,
java.awt.event.MouseEvent e)
Handles a mouse pressed event.
|
void |
mouseReleased(AbstractGUIElement element,
java.awt.event.MouseEvent e)
Handles a mouse released event.
|
void |
paintActiveComponent(java.awt.Graphics g)
Marks the active component in a
Graphics instance. |
private void |
setActiveComponent(AbstractGUIElement activeComponent)
Updates
activeComponent . |
private void |
setClicked(boolean isClicked)
Updates
isClicked . |
private void |
setDragging(boolean isDragging)
Updates
isDragging . |
@Nullable private AbstractGUIElement activeComponent
private static final int CLICK_DISTANCE
@NotNull private final java.awt.Point clickPosition
isClicked
is set.private final boolean debugGui
@Nullable private final java.io.Writer debugMouse
Writer
to write mouse debug to or null
.private boolean isClicked
private boolean isDragging
@Nullable private GUIElement mouseElement
@NotNull private final java.text.DateFormat simpleDateFormat
public MouseTracker(boolean debugGui, @Nullable java.io.Writer debugMouse)
debugGui
- whether GUI elements should be highlighteddebugMouse
- the writer to write mouse debug to or null
private void debugMouseWrite(@NotNull java.lang.CharSequence message)
message
- the message to writeprivate void enterElement(@Nullable AbstractGUIElement element, @NotNull java.awt.event.MouseEvent e)
mouseElement
and generate entered/exited events.element
- the new element; it may be null
e
- the event parameterpublic void mouseClicked(@Nullable AbstractGUIElement element, @NotNull java.awt.event.MouseEvent e)
element
- the affected GUI elemente
- the mouse eventpublic void mouseDragged(@Nullable GUIElement element, @NotNull java.awt.event.MouseEvent e)
element
- the affected GUI elemente
- the mouse eventpublic void mouseEntered(@Nullable AbstractGUIElement element, @NotNull java.awt.event.MouseEvent e)
element
- the affected GUI elemente
- the mouse eventpublic void mouseExited(@NotNull java.awt.event.MouseEvent e)
e
- the mouse eventpublic void mouseMoved(@Nullable AbstractGUIElement element, @NotNull java.awt.event.MouseEvent e)
element
- the affected GUI elemente
- the mouse eventpublic void mousePressed(@Nullable AbstractGUIElement element, @NotNull java.awt.event.MouseEvent e)
element
- the affected GUI elemente
- the mouse eventpublic void mouseReleased(@Nullable AbstractGUIElement element, @NotNull java.awt.event.MouseEvent e)
element
- the affected GUI elemente
- the mouse eventpublic void paintActiveComponent(@NotNull java.awt.Graphics g)
Graphics
instance.g
- the graphicsprivate void setActiveComponent(@Nullable AbstractGUIElement activeComponent)
activeComponent
. Prints a debug message if the value
changes.activeComponent
- the new valueprivate void setClicked(boolean isClicked)
isClicked
. Prints a debug message if the value changes.isClicked
- the new valueprivate void setDragging(boolean isDragging)
isDragging
. Prints a debug message if the value
changes.isDragging
- the new value