java gui review and learning