Click Counter
IntermediateDataCounts and displays mouse clicks. Useful for tracking activity and testing. Demonstrates mouse event handling.
12 min read
What It Does
Counts and displays mouse clicks. Useful for tracking activity and testing. Demonstrates mouse event handling.
Source Code
java
1package com.example;
2
3import net.runelite.client.input.MouseManager;
4import net.runelite.client.ui.overlay.Overlay;
5import net.runelite.client.ui.overlay.OverlayManager;
6import net.runelite.client.plugins.Plugin;
7import net.runelite.client.plugins.PluginDescriptor;
8import javax.inject.Inject;
9import java.awt.*;
10import java.awt.event.MouseEvent;
11
12@PluginDescriptor(
13 name = "Click Counter",
14 description = "Counts mouse clicks"
15)
16public class ClickCounterPlugin extends Plugin {
17 @Inject
18 private OverlayManager overlayManager;
19
20 @Inject
21 private MouseManager mouseManager;
22
23 private int clickCount = 0;
24
25 private final net.runelite.client.input.MouseListener mouseListener = new net.runelite.client.input.MouseListener() {
26 @Override
27 public MouseEvent mouseClicked(MouseEvent mouseEvent) {
28 clickCount++;
29 return mouseEvent;
30 }
31
32 @Override
33 public MouseEvent mousePressed(MouseEvent mouseEvent) {
34 return mouseEvent;
35 }
36
37 @Override
38 public MouseEvent mouseReleased(MouseEvent mouseEvent) {
39 return mouseEvent;
40 }
41
42 @Override
43 public MouseEvent mouseEntered(MouseEvent mouseEvent) {
44 return mouseEvent;
45 }
46
47 @Override
48 public MouseEvent mouseExited(MouseEvent mouseEvent) {
49 return mouseEvent;
50 }
51
52 @Override
53 public MouseEvent mouseDragged(MouseEvent mouseEvent) {
54 return mouseEvent;
55 }
56
57 @Override
58 public MouseEvent mouseMoved(MouseEvent mouseEvent) {
59 return mouseEvent;
60 }
61 };
62
63 private final Overlay overlay = new Overlay() {
64 @Override
65 public Dimension render(Graphics2D graphics) {
66 graphics.setColor(Color.WHITE);
67 graphics.drawString("Clicks: " + clickCount, 10, 10);
68 return new Dimension(100, 20);
69 }
70 };
71
72 @Override
73 protected void startUp() {
74 overlayManager.add(overlay);
75 mouseManager.registerMouseListener(mouseListener);
76 }
77
78 @Override
79 protected void shutDown() {
80 overlayManager.remove(overlay);
81 mouseManager.unregisterMouseListener(mouseListener);
82 }
83}Code Annotations
Line 18
Track click count
Line 21
Mouse listener to count clicks
Line 35
Display click count
API Classes Used
MouseManager
OverlayKey Concepts
- •Track click count
- •Mouse listener to count clicks
- •Display click count
Next Steps
- Learn about mouse event handling
- Add click rate calculation
- Add reset functionality