>>298
取り敢えずアプリケーションから窓が出したいなら
AWT,Swing,SWTのどれかを使っとけ。
基本は標準でついてくるAWT。
凝ったことがやりたくなったらSwing。
使ってみてSwingは動作が重いなと思ったらSWT。
AWTやSwingなら教科書も多いしな。
あとJavaはAPIのオンライン・リファレンスが割と揃ってるから
それを読めるようになれれ。

>>299-300
スレッドは並行動作するプログラミングのための仕組みだから
スレッドを使わない逐次動作のプログラミングが
一通り身についてからにした方がいいぞ。
特にロジック云々のレベルなら尚更。

ソートはアルゴリズムの勉強用にはいいが近頃はライブラリに揃ってるから
実用上は自分で書く必要性はあまりない。

ロジックというのは
要は考え方だからいろいろな課題を解決することで
考える練習をしてみるしかない。
アルゴリズム本を買って例題としてソートの章までくらい読んでみるのはいいかも知れない。

http://bookshelves.at.infoseek.co.jp/Html/programming.html#Algorithm
の「Javaによるデータ構造とアルゴリズム解析入門」あたりはどうかな。

(個人的な趣味ではKnuthの"The Art of Computer Programming"を薦めたいがこれは多分
内容的にも物理的にも初心者には重すぎるだろうとは思う。)