The comment in the following line of code does not match what the code is doing:

timer = new Timer(300); // Create a timer that goes off every 2 seconds

Either of the following two options would be correct:

timer = new Timer(300); // Create a timer that goes off every 300 milliseconds
timer = new Timer(2000); // Create a timer that goes off every 2 seconds

The first option (300) is preferable as it’s a bit too easy to play with drops only every 2 seconds!