非同期にはAsyncTwitterを使おう twitter4j
twitter4jでタイムラインを取得するとき、取得までの間処理が止まってしまうのが気になる場合はスレッドを作ってそこで処理してたのですが、AsyncTwitterクラスに非同期で処理を行う仕組みが用意されているそうです。
Twitter twitter = new TwitterFactory(confbuilder.build()).getInstance();
の代わりに
AsyncTwitter asyncTwitter = new AsyncTwitterFactory(confbuilder.build()).getInstance();
でAsyncTwitterクラスのインスタンスを作り、
asyncTwitter.addListener()
でTwitterListenerやそのアダプタークラスのTwitterAdapterをaddし、そこで非同期に処理された結果を使った操作を行うということだそうです。
ま、いずれにしろGUI(Swing)操作関係の処理はSwingWorkerやSwingUtilities.invokeLaterを使わなくてはいけないのは変わらないですけども。
参考URL