JavaのGUIは、最初にjava.awt.Frameの部品が用意されました。
この部品は、オペレーティングシステムのリソースを利用する考えのものでした。
そのために、オペレーティングシステムによって依存して見た目が変わる作品でした。

その後、オペレーティングシステムに依存しない見た目となり、より使いやすくて詳細いプログラミングできるjavax.swing.JFrameの部品が用意されました。これはすべてがJから始まる部品です。基本的にButtonならJが付かないのでjava.awt用で、JButtonであれば javax.swing用の部品として使います。 JFrameにJが付かない部品は使いません。ですが、継承関係ではjava.awt のサブクラスでjavax.swingの部品が定義されているものが多い状況です。 またイベントなどはjava.awt.evetをそのまま利用する形態でした。

さて従来のjava.awt.〜やjavax.swing.〜の部品で近年の高度な技術への拡張が難しく、 これに対応するために、従来のこれら部品とは全く違う部品を初めからから作り直す必要があったと思われます。
そうして、これまでと全く異なる基底クラスを使った新しい、JavaFXと呼ぶ新しいGUIが提供することにうなったのでしょう。
そして現在、このJavaFXがJavaのデフォルトのGUIライブラリとしています。

JavaFx

  1. 最初の実験
  2. レイアウトの実験
  3. ダイアログの実験
  4. スレッドの実験
  5. 画像が変化するゲームの構造(FxSprite)
  6. java.awt.image.BufferedImageとjavafx.scene.image.Image
  7. JavaFx でWebcam Capture APIを試す