Using encapsulation is better. It makes no sense for a GUI class to extend a 'user' class -- the two don't possess any sort of "is-a" relationship. It does make sense, however, for the GUI class to maintain a user object to work with.
In other words, it doesn't make sense to say a GUI object is a user object, but it does make sense to say a GUI object contains user a user object.
Lastly, you generally want to keep your front-end and back-end as separate and modular as possible. Having your GUI class extend your user class undermines this principle.