You are calling printAll on your button and not the JPanel you want to print. Try changing it to something like
this.printAll(g2);