Try adding this line to your Animator constructor for centering its contents:
In the Tower class constructor, using a GridLayout will make the animator instance and the buttonPanel the same size. This may be what you want. If not, you could add the buttonPanel to the south section of a BorderLayout and add the animator instance to the center. You can call setPreferredSize in the animator constructor or override the getPreferredSize method in the (Animator) class to set the initial size as desired. This will avoid resizing/visibility problems later as you animate through your images. Choose a Dimension that will allow for all the Animator components (using largest image) to be adequately displayed.