#プログラミング勉強日記
2020年11月18日
swingを使っているが、他にGUIのフレームワークがないか気になったのでまとめる。
#GUIとは
Graphical User Interfaceの頭文字をとったもので、操作対象が画像や図形などで、キーボードからの入力やマウスのクリックといった直感的にコンピュータを操作できる。
コマンドプロンプトを使ってjavacやjavaのコマンドでコンパイルや実行するのをCUIといい、CUIの場合はコマンドを覚える必要があるが、GUIの場合はコマンドを知らなくても画像や図形を使うことで直感的に操作できる。GUIはEclipseといった統合開発環境(IDE)を使って開発する。(統合開発環境(IDE)についてはこちらの記事で扱った)
#GUIのフレームワーク
GUIを開発するためにはフレームワークを使用する。
##AWT
AWTはAbstract Window Toolkitの頭文字をとったもので、Java 1.0のころから使用されているGUIフレームワーク。ボタンなどの部品はウィンドウシステムのネイティブ部品が使われているので、Windows上ではネイティブなWindowsアプリと似ていて、Mac上ではネイティブなMacintoshに似ていて、OSに依存する。
##JavaFX
JavaFXはJava8以降でJava SEの標準GUIフレームワークで、FMXLと呼ばれるXMLとCSSを併用してデザインを記述し、デザイン処理と処理クラスの記述を分離できる。
##Swing
Javaで書かれたGUIのフレームワークで、どのOSで動かしても見栄えが同じになる。AWTに起因する限界もあって、Java8以降はJavaFXに置き換えられている。