Java Swingチュートリアル: GUIアプリケーションの作成方法 Java
スイングとは Java?
スイングイン Java Swingは、GUIコンポーネントを含むグラフィカルユーザーインターフェイス(GUI)ツールキットです。Swingは、洗練されたGUIコンポーネントを作成するための豊富なウィジェットとパッケージを提供します。 Java アプリケーション。Swingは Java Foundation クラス(JFC)は、 Java GUIを提供するGUIプログラミング。
この Java Swingライブラリは、 Java 抽象ウィジェットツールキット (AWT)は、古いプラットフォーム依存のGUIツールキットです。 Java ボタン、テキスト ボックスなどのシンプルな GUI プログラミング コンポーネントをライブラリから取得でき、コンポーネントを最初から作成する必要はありません。
この中の Java スイングチュートリアルでは、 Java GUIの基本としては、
Java Swing クラス階層図
すべてのコンポーネント Java Swing は、コンテナ クラスに追加できる JComponent です。
コンテナクラスとは何ですか?
コンテナクラスは、他のコンポーネントを配置できるクラスです。 Java Swing GUIでは、少なくとも3つのコンテナオブジェクトが必要です。XNUMXつのタイプがあります。 Java スイングコンテナ。
- パネル: これは純粋なコンテナであり、それ自体はウィンドウではありません。 パネルの唯一の目的は、コンポーネントをウィンドウ上に整理することです。
- フレーム: タイトルとアイコンを備えた完全に機能するウィンドウです。
- 対話: メッセージを表示する必要があるときに表示されるポップアップ ウィンドウのようなものと考えることができます。フレームのように完全に機能するウィンドウではありません。
GUIとは何か Java?
GUI(グラフィカルユーザーインターフェース) Java は、使いやすいビジュアルエクスペリエンスビルダーです。 Java アプリケーション。主にボタン、ラベル、ウィンドウなどのグラフィカルコンポーネントで構成され、ユーザーはそれらを通じてアプリケーションと対話します。GUIは、アプリケーションを簡単に操作するためのインターフェースを構築する上で重要な役割を果たします。 Java 分野の様々なアプリケーションで使用されています。
GUIの作り方 Java 例を挙げて
今これで Java GUIチュートリアルでは、GUIを作成する方法を理解しましょう Java スイングイン Java 例。
ステップ1) コードをエディタにコピーする
最初のステップでは、次のコードをエディターにコピーします。
import javax.swing.*; class gui{ public static void main(String args[]){ JFrame frame = new JFrame("My First GUI"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(300,300); JButton button = new JButton("Press"); frame.getContentPane().add(button); // Adds Button to content pane of frame frame.setVisible(true); } }
ステップ2) コードを実行する
次のステップ、コードの保存、コンパイル、実行
ステップ3) 次のコードをエディターにコピーします
フレームにボタンを追加しましょう。次のコードをエディタにコピーします。 Java UIの例
import javax.swing.*; class gui{ public static void main(String args[]){ JFrame frame = new JFrame("My First GUI"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(300,300); JButton button1 = new JButton("Press"); frame.getContentPane().add(button1); frame.setVisible(true); } }
ステップ4) コードを実行する
次に、コードを実行します。 大きなボタンが表示されます。
ステップ5) ボタンをXNUMXつ追加
ボタンを 2 つ追加してみませんか? 次のコードをエディターにコピーします。
import javax.swing.*; class gui{ public static void main(String args[]){ JFrame frame = new JFrame("My First GUI"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(300,300); JButton button1 = new JButton("Button 1"); JButton button2 = new JButton("Button 2"); frame.getContentPane().add(button1); frame.getContentPane().add(button2); frame.setVisible(true); } }
ステップ6) プログラムを保存して実行する
次に、プログラムを保存、コンパイル、実行します。
ステップ7) 出力を確認してください
予期しない出力 =? ボタンが重なってしまいます。
Java レイアウトマネージャ
レイアウトマネージャはGUIをレイアウト(または配置)するために使用されます。 Java コンテナ内のコンポーネント。レイアウト マネージャーは多数ありますが、最もよく使用されるのは次のものです。
Java 境界線レイアウト
A BorderLayout
コンポーネントを最大 XNUMX つの領域 (上、下、左、右、中央) に配置します。 これは、すべての Java JFrame のデフォルトのレイアウト マネージャーです。
Java フローレイアウト
FlowLayout
すべてのデフォルトのレイアウトマネージャーです JPanel
。 コンポーネントを XNUMX 行に次々と配置するだけです。
Java グリッドバッグレイアウト
これはすべてのレイアウトの中で最も洗練されたものです。セルのグリッド内にコンポーネントを配置することでコンポーネントを整列させ、コンポーネントが複数のセルにまたがることを可能にします。
ステップ8) チャットフレームを作成する
以下のようなチャットフレームを作成してみてはいかがでしょうか?
以下のプログラムを見る前に、自分でコーディングしてみてください。
//Usually you will require both swing and awt packages // even if you are working with just swings. import javax.swing.*; import java.awt.*; class gui { public static void main(String args[]) { //Creating the Frame JFrame frame = new JFrame("Chat Frame"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(400, 400); //Creating the MenuBar and adding components JMenuBar mb = new JMenuBar(); JMenu m1 = new JMenu("FILE"); JMenu m2 = new JMenu("Help"); mb.add(m1); mb.add(m2); JMenuItem m11 = new JMenuItem("Open"); JMenuItem m22 = new JMenuItem("Save as"); m1.add(m11); m1.add(m22); //Creating the panel at bottom and adding components JPanel panel = new JPanel(); // the panel is not visible in output JLabel label = new JLabel("Enter Text"); JTextField tf = new JTextField(10); // accepts upto 10 characters JButton send = new JButton("Send"); JButton reset = new JButton("Reset"); panel.add(label); // Components Added using Flow Layout panel.add(tf); panel.add(send); panel.add(reset); // Text Area at the Center JTextArea ta = new JTextArea(); //Adding Components to the frame. frame.getContentPane().add(BorderLayout.SOUTH, panel); frame.getContentPane().add(BorderLayout.NORTH, mb); frame.getContentPane().add(BorderLayout.CENTER, ta); frame.setVisible(true); } }