Here's a few suggestions:
Make your Listen class an inner class to ChatUserOne. This way you don't need the singleton approach of ChatUserOne.instance and you don't need 'obj' in your Listen class.
Rename Listen to something more descriptive like SendButtonAction.
Have ChatUserOne extend JFrame. This way you don't need a 'frame' variable all over the place.
After you create your button, call: button.setAction( new SendButtonAction() );
I also think your factory method is incorrect and might return two different instances if called from two threads. It should read something like this:-I do not think the createGui method should be in the same class.
Don't get me started about those stupid light bulbs.