ジャバSwing チュートリアル: Java で GUI アプリケーションを作成する方法

Sとはwing Javaで?

Swing Javaで は、GUI コンポーネントを含むグラフィカル ユーザー インターフェイス (GUI) ツールキットです。 Swing Java アプリケーション用の洗練された GUI コンポーネントを作成するための豊富なウィジェットとパッケージのセットを提供します。 Swing is a part of Java Foundation Classes(JFC), which is an API for Java GUI programing that provide GUI.

ジャワSwing ライブラリは Java Abstract Widget Toolkit (AWT)、古い、プラットフォーム依存の GUI ツールキット。 ボタンやテキストなどのJavaのシンプルなGUIプログラミングコンポーネントを使用できます。box、などをライブラリから取得できるため、コンポーネントを最初から作成する必要はありません。

このJava Sではwing チュートリアルでは、次のような Java GUI の基本を学びます。

ジャバSwing クラス階層図

ジャバSwing クラス階層図
ジャバSwing クラス階層図

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

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

コンテナ クラスは、他のコンポーネントを含めることができるクラスです。 Java S を作成するにはwing GUI では、少なくとも 3 つのコンテナ オブジェクトが必要です。 Java SにはXNUMX種類ありますwing コンテナ。

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

JavaのGUIとは何ですか?

Java の GUI (グラフィカル ユーザー インターフェイス) is an easy-to-use visual experience builder for Java applications. It is mainly made of graphical components like buttons, labels, windows, etc. through which the user can interact with an application. GUI plays an important role to build easy interfaces for Java applications.

Java で GUI を作成する方法と例

この Java GUI チュートリアルでは、S を使用して Java で GUI を作成する方法を理解しましょう。wings は Java の例にあります。

ステップ1) コードをエディタにコピーする
最初のステップで以下をコピーしますwing エディターにコードを入力します。

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) フォローしてコピーwing エディターにコードを書き込む
次に、フレームにボタンを追加しましょう。 フォローしてコピーwing 指定された 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つ追加
ボタンをXNUMXつ追加してみてはいかがでしょうか? 以下をコピーしますwing エディターにコードを入力します。

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 GridBagLayout

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

Java GridBagLayout
Java GridBagLayout

ステップ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);
    }
}