Programming isn't easy, and adding a user interface around functionality can really make life difficult. Especially since not all UI frameworks are thread safe (including Swing). So how do we efficiently handle the UI, run the worker code, and communicate data between the two, all while keeping the UI responsive?
Autocomplete can be very useful in just about any application, but its not trivial to implement. So here is a quick example of how you might do it in Java's Swing framework with JTextField (it should also work with JTextArea with only a few modifications). This example is a modified