Then the best approach to this is to share the model used for both of the text fields. This is a simple Document type, which can be prepopulated with data if desired. Since the Document will register the document listeners itself, you don't need to handle any events at all.
See this example (untested, but if necessary I can verify after):
public static void main(String argv)
public void run()
JFrame jf = new JFrame();
Document d = new PlainDocument();
JTextField jf1 = new JTextField();
JTextField jf2 = new JTextField();
jf.setLayout(new GridLayout(2, 1));
Something like that to see what I mean. You should find everything you need in java.awt, javax.swing and javax.swing.text. If it works as I expect, you'll have two fields, the bottom one disabled and as you type in the text area it automatically fills in the second.