introduction jfc
このチュートリアルでは、GUI(グラフィカルユーザーインターフェイス)プログラミングとJava FoundationClassesまたはJavaのJFCの基本について説明します。
以前のチュートリアルでは、Javaのようなデータ型、変数、意思決定、ループ構造などの基本から、Javaの配列、コレクション、メソッドに至るまでのトピックを取り上げました。
マルチスレッドと例外の概念についても説明しました。その後、JavaOOPSのサポートについて学びました。これらすべての概念を使用して、再利用可能で堅牢であり、自己完結型の高レベルのアプリケーションをJavaで開発できます。
オンラインで最高のyoutubeからmp4へのコンバーター
=> JavaトレーニングチュートリアルのA〜Zを確認するには、ここをクリックしてください。
このチュートリアルでは、Javaでのアプリケーションのグラフィカル開発について説明します。他のすべての概念と同様に、Javaは、グラフィカルユーザーインターフェイス(GUI)を開発できるように、多数の再利用可能なグラフィッククラスとAPIを提供します。
学習内容:
Javaのグラフィカルユーザーインターフェイスとは
グラフィカルユーザーインターフェイスまたは単に「GUI」と呼ばれるものは、ソフトウェアの世界で使用される一般的な用語です。 GUIは、使いやすいコントロールを備えたユーザー向けの視覚的表示を備えたアプリケーションを表します。 GUIは通常、ウィンドウ、フレーム、ボタン、ラベルなどのグラフィカルコンポーネントで構成されます。
これらのコンポーネントを使用して、システムや外の世界と対話することができます。 Javaは、GUIアプリケーションの開発に使用できる多くのAPIと再利用可能なクラスを提供します。 Javaが提供する最も古いキットの1つは、「AbstractWindowingToolKit」またはAWTです。 Swingのようなすべての新しいAPIまたはコンポーネント。 JavaFXなどはこのAWTに基づいています。
これまでに作成したコンソールプログラムも同様に重要ですが、最新のデスクトップアプリケーションはすべてグラフィカルに有効になっていることを知っておく必要があります。これは、エンドユーザーがマウスをクリックするだけでアプリケーションを簡単に使用できるようにする、すぐに使用できるGUIを備えていることを意味します。
GUIの作成は、いくつかの形状を描画したり、画像を含めたりするほど簡単ではないことに注意してください。 GUIには、いくつかのイベントをトリガーする一連のアクティビティが含まれています。これらのイベントは、ボタンをクリックしていくつかのアクションをトリガーするなど、コンポーネントまたはコンポーネントの一部を呼び出すときにいくつかのアクションを実行します。
したがって、GUIアプリケーションは、これらのコンポーネントでトリガーできるグラフィカルコンポーネントとイベント、およびイベントトリガーの結果として実行されるアクションで構成されるフレームワークです。
フレームワークは通常、事前にコンパイルされた再利用可能なクラスとコンポーネントを提供します。これらを描画領域にドラッグアンドドロップして、イベントとアクションをこれらのコンポーネントに関連付けることができます。
Javaは、次の主要なフレームワークを提供します。
Javaは、GUIプログラミング用に次のフレームワークを提供します。
- Abstract Windowing Toolkit: これはJavaで最も古いフレームワークであり、JDK1.0で最初に導入されました。現在、ほとんどのAWTコンポーネントは古くなっており、JavaSwingコンポーネントに置き換えられています。
- Swing API: これは、AWTフレームワーク上で開発された一連のグラフィカルライブラリであり、Java Foundation Classes(JFC)の一部です。 Swingは、コンポーネントにプラグアンドプレイを使用できるモジュラーアーキテクチャを備えています。
- JavaFX: 最新のフレームワークは、Java8以降で利用できます。
Androidで使用されるEclipseのStandardWidget Toolkit(SWT)やGoogle Web Toolkit(GWT)など、さまざまなサードパーティのグラフィカルフレームワークがあります。
Java Foundation Classes(JFC)
Javaは、グラフィカルユーザーインターフェイスまたはGUIを開発するための一連の機能を提供します。この一連の機能は、Java FoundationClassesまたはJFCとして知られています。
JFCを使用すると、アプリケーションに豊富なグラフィカル機能を追加し、アプリケーションをよりインタラクティブにすることができます。 JFCには、アプリケーションに簡単にプラグインして、要件に従ってプログラムできる一連のグラフィカルコンポーネントが含まれています。ただし、これらのコンポーネントのプログラミングには、通常、数行のコードしか必要ありません。
JFCには、java.awtおよびjavax.swingパッケージのクラスが含まれています。これらとは別に、Java 3D、Java 2D、Java Accessibilityなどに関連するクラスも含まれています。JFCはJavaのオブジェクトおよびコンポーネントモデルと同期しているため、使いやすいです。
次の図は、JFCのさまざまなコンポーネントをまとめたものです。
上に示したように、JFCにはAWTとSwingクラスが含まれています。 JavaAWTとJavaSwingのチュートリアルを進める際に、これらのそれぞれについて説明します。 JFCは、アプリケーション内で使用できるさまざまなメソッドも提供します。
一般的に使用される方法のいくつかは次のとおりです。
方法 | 説明 |
---|---|
public void add(Component c) | メソッドを呼び出す親コンポーネントにコンポーネントを追加します。 |
public void setSize(int width、int height) | 指定した幅と高さのコンポーネントのサイズを設定します。 |
public void setLayout(LayoutManager m) | このコンポーネントに指定されたレイアウトマネージャーを設定します。 |
public void setVisible(boolean b) | ブール値に従ってコンポーネントの可視性を設定します。デフォルトでは、可視性はfalseです。 |
次に、GUIコンポーネントの一般的なレベルについて説明します。次に、後続のチュートリアルで、AWTおよびSwingパッケージとそのコンポーネントについて具体的に説明します。
ウィンドウコンポーネント
GUIアプリケーションの親コンテナは、1つ以上のフレームを含む可能性のあるウィンドウであることがわかっています。
GUIには通常、ユーザーインターフェイス要素またはアプリケーションのGUIの一部として表示される要素が含まれます。
これらのウィンドウコンポーネントは次のとおりです。
- 情報要素: ラベル、アイコン、バナー、メッセージダイアログなどの情報を提供する要素またはコンポーネント。
- 入力コントロール: テキストフィールド、ボタン、ドロップダウンリスト、チェックボックス、ラジオボタンなどは、ユーザーからデータを読み取ることができる入力コントロールです。
- ナビゲーションコンポーネント: メニュー、サイドバー、ブレッドクラムなどのコンポーネントは、アプリケーション内を移動するのに役立ちます。
ここで、GUIのいくつかの重要なコンポーネントについて説明します。
Javaのフレーム
フレームは、画面に表示されるグラフィカルウィンドウです。フレームはコンポーネントとして表示できますが、画面に表示される物理的なウィンドウを形成するため、他のコンポーネントとは異なる方法で処理されます。フレームには、ボタン、テキストフィールドなどの他のグラフィックコンポーネントやパネルを含めることもできます。
フレームには、他のコンポーネントでサポートされていないメソッドもあります。 「java.awt.Frame」はAWTのクラスを表し、JFrameはフレームを表すJavaSwingパッケージに含まれるクラスです。
したがって、GUIアプリケーションはすべて、メインウィンドウを形成するJFrameオブジェクトを作成することから始まります。 JFrameオブジェクトが作成されたら、setVisible(「true」)を呼び出すことで、そのvisibleプロパティをtrueに設定できます。次に、このフレーム内の他のコンポーネントをドラッグアンドドロップできます。
フレームを含むすべてのGUIコンポーネントは、上記の共通の継承階層の一部であるため、いくつかの共通のプロパティがあります。したがって、JavaSwingパッケージにはコード共有の強力なケースがあると言えます。
Javaでfloatを使用する方法
次の図は、GUIエディタの一般的なフレームウィンドウを示しています。
上の図からわかるように、デザインエディタの最も外側のウィンドウ(小さな赤い矢印でマークされている)がフレームです。このフレーム内には、フレームの他のさまざまなコンポーネントまたは子コンポーネントがあります。
これは、コンポーネントのツリー構造を示す左側のパネルから明らかです。大きな赤い矢印で示されているように、JFrameがルートコンポーネントであり、他のすべてのコンポーネントがその子コンポーネントです。
JavaのJPanel
JPanelコンテナは、JavaのSwingパッケージの一部です。 JPanelは、コンポーネントのグループを格納します。 JPanelは、設定されたレイアウトを使用してコンポーネントを整理しました。さまざまなレイアウトは、JPanelがコンポーネントをより適切に整理するのに役立ちます。
JPanelは、フレーム内または他のパネル内のコンポーネントレイアウトの基本的な構成要素と見なされます。 GUIアプリケーションには通常、メインウィンドウとしてフレームがあり、その中にさまざまなコンポーネントを保持および整理するための1つ以上のパネルがあります。
次の画像は、フレーム内のパネルの簡単な例を示しています。
上に示したように、PanelコンテナはFrameウィンドウコンテナに埋め込まれています。 1つまたは複数のパネル、またはパネル内のパネルを含めることができます。次に、パネル内のコンポーネントまたは要素を整理する任意のレイアウトマネージャーをパネルに適用できます。 JPanelのデフォルトのレイアウトマネージャーは「FlowLayout」です。
JavaでのGUIレイアウト
Javaコンテナは、画面上のコンポーネントの自動レイアウトを使用します。ただし、コンポーネントのサイズと位置は「レイアウトマネージャー」が管理します。レイアウトマネージャーは、設計時にコンテナーに設定されます。動的に変更することもできます。
JavaGUIで使用される一般的なレイアウトは次のとおりです。
#1)BorderLayout
境界線のレイアウトは、以下に示すように、コンポーネントを5つの領域に分割します。
これらのうち、「北」、「南」、「東」、「西」の4つのエリアはサイズ変更できません。 「中央」の領域はサイズ変更可能です。各エリアには1つのコンポーネントのみの制限があり、パネルを使用して複数のコンポーネントを保持できることに注意してください。
#2)FlowLayout: このレイアウトは、複数のコンポーネントを保持するために使用されます。複数のコンポーネントが水平に配置され、コンテナの幅がなくなるとラップされます。また、コンポーネントは左から右の順序で表示されます。
#3)BoxLayout: ボックスレイアウトを使用して、コンポーネントは垂直または水平に配置されます。ボックスレイアウトのこの配置は、コンテナのサイズとは無関係です。コンテナ内のコンポーネントは、コンテナを満たし、同じサイズになるように設定されています。
これらは、GUI開発で使用する重要で一般的なコンポーネントの一部です。 AWTとSwingに関する後続のチュートリアルでは、これらのパッケージによって提供される他のコンポーネントの詳細について説明します。
よくある質問
Q#1)GUIプログラミングとは何ですか?
回答: ポインティングデバイスを使用してコンピューターと対話するグラフィカルコンポーネントを使用して開発されたプログラムは、イベント駆動型です。つまり、特定のイベントがトリガーされたときにいくつかのアクションを実行し、GUIプログラミングと呼ばれます。
GUIプログラミングはGUIフレームワークを使用しており、グラフィカルコンポーネントを直接プラグインして使用できます。
Q#2)Javaで使用するGUIは何ですか?
回答:Javaは、以下に示すように、GUIアプリケーションの開発に使用できる最高のフレームワークのいくつかをサポートしています。
- JavaFX。
- GUIJavaをスイングします。
- AWT:Abstract WindowingToolkit。
- SWT-標準ウィジェットツールキット。
- ApachePivot。
- SwingX。
- JGoodies。
- QtJambi。
Q#3)GUIの利点は何ですか?
回答: GUIプログラムは、アプリケーションをインタラクティブで直感的で、使いやすく、学習しやすくします。ユーザーにグラフィカルなビジュアルを提供するため、アクションの効果が高まり、アプリケーションに関する視覚的なフィードバックが即座に得られます。
Q#4)JavaFX APIとは何ですか?
回答: JavaFXは、ネイティブJavaコードで記述された最新のJavaライブラリであり、クラスとインターフェイスが含まれています。 JavaFXを使用して、Java8以降のJavaバージョンでGUIアプリケーションを設計できます。
Q#5)JavaはGUIに適していますか?
回答: Javaには、最高のサポートとともにGUIアプリケーションを開発するためのツールがたくさんありますが、高度なGUIアプリケーションを開発するためのほとんどすべての機能を備えたC ++のMFCライブラリほど高速で効率的ではありません。
結論
このチュートリアルでは、JavaでのGUIプログラミングについて説明しました。 JavaでのGUIプログラミングの重要な概念のいくつかを紹介し、JavaでサポートされているGUIフレームワークの概要も確認しました。 JFCライブラリの概要について説明しました。
=> ここですべてのJavaチュートリアルを確認してください。