You were right about the KeyListener, it solved my problems.
Unfortunately, it also created one. The Backspace command it wonky.
Here's how it works:
(text in text box) (text stored in the class)
nam nam (I typed in 'backspace')
namw nam (I typed in 'w', but it didn't get stored in the class)
namwg namw (I typed in 'g', and the 'w' appeared, but not the 'g')
For some reason, after I type in backspace, the text box permanently loses a character when the KeyListener activates.