Never used gettext() when reading player input with GUIs, but gettext() is definitely not the only way (as you make it sound like). An example of what I'm saying is the one that I pointed to in my post above.
Just commenting on the fact that it's not the only way, other than that, use it as you please.