Forget about the GUI for a moment and work only on the calculateScores method. You can test this in a separate class.
Whenever the calculateScore is called with a testScore, you first need to add this testScore to your existing score(s) (which might have been added earlier). You have declared an double array, but, I don't see anywhere the testScore being set in the array. As you can see, you will have to dynamically allocate the size of array every time a score is added and also copy over the earlier values. Like you have said, this is what ArrayList does.
For all primitive types,
Java has a corresponding class which are called wrapper classes. So, in this case,
you should use an array list which can take instances of Double.
I think I have given you an outline and enough info to start with.