Are you talking about the width of the textfield or the text in the textfield? You shouldn't have to repaint the textfield to change the text, just call setText( String text ). If you need to change the width call setColumns( int columns ). Depending on the layout of the container holding the textfield, you may have to call invalidate() or validate() on the container to get it to resize correctly. Also, these methods should be called from the event thread... if you're calling them from another thread they aren't guaranteed to update automatically.