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 クラス階層図
Java Swing クラス階層図

すべてのコンポーネント Java Swing は、コンテナ クラスに追加できる JComponent です。

コンテナクラスとは何ですか?

コンテナクラスは、他のコンポーネントを配置できるクラスです。 Java Swing GUIでは、少なくとも3つのコンテナオブジェクトが必要です。XNUMXつのタイプがあります。 Java スイングコンテナ。

  1. パネル: これは純粋なコンテナであり、それ自体はウィンドウではありません。 パネルの唯一の目的は、コンポーネントをウィンドウ上に整理することです。
  2. フレーム: タイトルとアイコンを備えた完全に機能するウィンドウです。
  3. 対話: メッセージを表示する必要があるときに表示されるポップアップ ウィンドウのようなものと考えることができます。フレームのように完全に機能するウィンドウではありません。

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) コードを実行する
次に、コードを実行します。 大きなボタンが表示されます。


Java GUIの例

ステップ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 境界線レイアウト
Java 境界線レイアウト

Java フローレイアウト

FlowLayout すべてのデフォルトのレイアウトマネージャーです JPanel。 コンポーネントを XNUMX 行に次々と配置するだけです。

Java フローレイアウト
Java フローレイアウト

Java グリッドバッグレイアウト

これはすべてのレイアウトの中で最も洗練されたものです。セルのグリッド内にコンポーネントを配置することでコンポーネントを整列させ、コンポーネントが複数のセルにまたがることを可能にします。

Java グリッドバッグレイアウト

Java グリッドバッグレイアウト

ステップ8) チャットフレームを作成する
以下のようなチャットフレームを作成してみてはいかがでしょうか?


の例 Java GUI

以下のプログラムを見る前に、自分でコーディングしてみてください。

//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);
    }
}