Q: I want to create a widget annotation (like a text annotation) where readers like Adobe will display a date picker. How can I programmatically create one?
A: You can create one by embedding JS actions to the widget that will tell readers like Adobe Reader to display the picker:
TextWidget text3 = TextWidget.Create(doc, new Rect(110, 660, 380, 690), "date.picker");
Action dateAction = Action.CreateJavaScript(doc, "AFDate_FormatEx(\"d/m/yy\");"); // change date format here
Obj aaObj = text3.GetSDFObj().PutDict("AA");
aaObj.Put("K", dateAction.GetSDFObj());
aaObj.Put("F", dateAction.GetSDFObj());
page.AnnotPushBack(text3);
Take a look at the interactive forms sample for more details.