You are using invalid arguments for your showMessageDialog().
(Component, Object, String, int) are the arguments.
"Eggs are not supposed to be green.",
You use "this" as the first argument for showMessageDialog. Using "this" will call the Person object you have created. Your Person object is not a Component, so the method encounters an error. I would simply replace "this" with null for the first argument.
As to why that exception is caused, I think you have to have the try / catch combination there not because the date conversion always
causes an exception, but only because it CAN
cause an exception. These exceptions won't always occur, but if they do the program has to be able to catch the exception if it occurs.
Edit: I apologize, I didn't see that you had tried null already. What happens when you use null? That always works fine for me...
Hopefully this helps!