CUIプログラミングが一通り程度できるようになったら、次はGUIプログラミングか、あるいはネットワークプログラミングに移ることになります。
JavaでネットワークプログラミングやGUIプログラミングを行う場合、CUIプログラミングに比べて、"慣習"というのが非常に多いため、何故こう書かなければならないのか分からない、と、戸惑うことがが多いでしょう。とにかく、多くのサンプルコードに触れて、そのコードを参考に自分でプログラムを書いて、体で覚えるのが一番です。GUIのプログラミングはサンプルコードがJavaの公式サイトにあるので(ただし英語ですが)、それを参考にすると良いでしょう。
また、ネットワークプログラミング、GUIプログラミング共に、ネット上のJava入門サイトでもある程度触れられているので、最初はそちらの解説などを読んでも良いかもしれません。また、ネットワークプログラミング、GUIプログラミングを勉強する段階になってくると、統合開発環境(IDE)を用いてプログラミングを行う事がほぼ必須になってきます。また今後のことを考えても、統合開発環境でのプログラミングに慣れておくこととよいと思います。特にGUIプログラミングの場合、デザインを変更するたびに一々手動でコンパイルをしなおして確認するのは正直大変です。
統合開発環境にはGUIプログラミングをサポートしてくれるプラグイン(例えばNetbeans のProject Matisse、Eclipse の Visual Editorなど)が存在するので、それらを利用するとデザインが非常に容易に出来ることかとおもいます。一応次の項目からJavaにおける両者のプログラミングの基本について述べておきます。
Top > Javaの学習方法 中級者編
java言語の基礎知識

ご訪問ありがとうございます。Java言語の基礎知識や学習方法、およびその周辺ソフト・周辺技術についての解説しています。ジャバ言語を完全マスターして徹底活用する際のご参考にして下さい。