This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
Get rid of getMinimumSize and getPreferredSize. You don't need that.
GridLayout, like many other layouts has a facility where you can control the gap/space between components. Check out GridLayout#setHgap and setVgap methods. You will also find a corresponding constructor.
As a rule of the thumb try and avoid explicitly tweaking the dimensions of the child component. Always try and tweak the layout.