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 + E
sets the application to Edit Mode.Control + T
sets 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-Clicking
on the background and dragging the mouse to do a rubber-band selection or lasso selection. - Rubber-band/lasso selection while holding the
Control
key deselects existing selected targets. Control + C
copies the selected targets.Control + X
cuts the selected targets.Control + V
does a paste.Control + U
undoes the last action.Control + R
redoes the last action.- Move selected targets by a
Left-Click
drag. - Resize selected targets by a
Shift-Click
drag 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.