Reverts using Graphics in Button constructor due to lack of access.
Moved back to Button.paint(Graphics g)