In my previous job I often had to communicate over the phone, and would dread the inevitable moments where I'd need to spell something out, ending up saying something along the lines of "erm, 'G' for... Gary?".
So I made this little program! Now I'm an expert (I still say 'G for Gary' but it's a purposeful decision).
A letter flashes on the screen, and the user is asked to enter the corresponding word from the phonetic alphabet. If their answer is correct, it'll let them know by showing a 'Correct!' screen with a green background, waiting a moment, and then moving on to the next letter.
If the answer was incorrect, a red screen will flash, with the message "Incorrect!. A moment will pass, and then the correct answer will be shown on the screen. A new letter will take it's place and the training can continue.
I learnt a great deal from this project, especially in relation to Java.swing.
If you haven't already, please check out the short YouTube video below! It gives a quick walk-through of the program.