Click Counter

IntermediateData

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

Key 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