OK, where are you getting the exception? Open the call-stack view.
EDIT: I see your problem.
You declare these arrays:
private BasicEditField sub;
private ObjectChoiceField crd;
private ObjectChoiceField grd;
But you never allocation storage for them.
You need this in your constructor:
sub = new BasicEditField[<whatever size you want>]
Did you get that Java book?