A JavaFX application that enables users to design and evaluate target-based user interfaces. The app features an editor that allows users to create, arrange, and modify targets, as well as a testing mode that measures their performance using Fitts' Law. Other features include undo/redo and clipboard support, making it easy to experiment with different designs and see how they affect user efficiency and accuracy.
- This repository contains all the code for the application which was built using Java with JavaFX framework.
- Implemented using Model-View-Controller architecture, Publish-Subscribe communication model and a 2D immediate-mode GUI.
- Selected targets are drawn with a red fill.
Control + Esets the application to Edit Mode.Control + Tsets the application to Test Mode which allows the user to begin a "Target Trainer" session.
- Creation of targets by
Shift-Clicking. - Selection of single target by
Left-Clicking. - Selection of multiple targets by
Control-Clicking. - Selection of multiple targets by
Left-Clickingon the background and dragging the mouse to do a rubber-band selection or lasso selection. - Rubber-band/lasso selection while holding the
Controlkey deselects existing selected targets. Control + Ccopies the selected targets.Control + Xcuts the selected targets.Control + Vdoes a paste.Control + Uundoes the last action.Control + Rredoes the last action.- Move selected targets by a
Left-Clickdrag. - Resize selected targets by a
Shift-Clickdrag left(smaller) or right(larger) on a target.
- Please download the full source code or clone this repository.
- Open the folder as an existing project in your IDE of choice (I use IntelliJ).
- Navigate to
/src/main/java/com/example/targetapplication/application. - Open the main file which starts the application named
TargetApplication.java. - Run the main method by clicking on the play button in the gutter.

