Skip to content

akumosstl/java_swing_monitoring

Repository files navigation

AI Swing Agent 🎯

A Java Agent for monitoring and automating user interactions on any Java Swing application.

  • 🏗️ Built with Java 1.8 and Maven.
  • 🔗 Provides a REST API to record and replay Swing UI interactions.
  • 🗂️ Saves interaction data in JSON files.
  • 🚀 Deployable via JNLP (Java Web Start).

🚀 Features

  • ✅ Capture user interactions like clicks, text input, JTable selections, dropdown selections, and more.
  • ✅ Supports components inside nested JFrame, JDialog, and dynamic UI elements.
  • ✅ REST endpoints to start/stop recording and to automate playback.
  • ✅ Persistence in JSON file system.
  • ✅ Can be attached to any Java Swing application as a Java Agent.

🧰 Tech Stack

  • Java 1.8
  • Maven
  • Embedded HTTP server (com.sun.net.httpserver)

🏗️ Installation

✅ Build the Agent

git clone https://github.com/akumosstl/java_swing_monitoring.git
cd java_swing_monitoring
mvn clean package

The JAR will be located in:

agent/target/agent.jar

🚀 Running with a Java Swing Application

Attach the agent to any Swing app:

java -javaagent:path/to/agent.jar -jar applicationB.jar

🌐 REST API Endpoints

Endpoint Description
/start-record Start recording user interactions
/stop-record Stop recording and save data
/automation Replay the recorded interactions

📂 Output

  • JSON file saved with all user interactions.

💾 Deployment via JNLP

The project includes a JNLP descriptor to launch the agent remotely.


🤝 Contributing

Contributions are welcome! Please read the Contributing Guide and Code of Conduct.


📜 License

This project is licensed under the MIT License.


🧠 Author

About

A Java Agent for monitoring and automating user interactions on any Java Swing application.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages