ホームページ  >  記事  >  Java  >  スイングコンポーネントとは何ですか?

スイングコンポーネントとは何ですか?

(*-*)浩
(*-*)浩オリジナル
2019-05-11 17:55:206562ブラウズ

スイングコンポーネントとは何ですか?

Swing は、グラフィカル インターフェイス アプリケーション開発のために Java によって提供されるツールキットのセットであり、Java 基本クラスの一部です。

Swing には、ウィンドウ、ラベル、ボタン、テキスト ボックスなど、グラフィカル インターフェイス (GUI) を構築するためのさまざまなコンポーネントが含まれています。

Swing は、AWT よりも多くの優れた画面表示要素を提供しており、純粋な Java で実装されており、クロスプラットフォーム操作との互換性が高くなります。

AWT コンポーネントと区別するために、Swing コンポーネントは javax.swing.* パッケージの下にあり、そのクラス名はすべて J で始まります (JFrame、JLabel、JButton など)。

推奨コース: Java チュートリアル

Swing コンポーネント

Java グラフィカル インターフェイスは、さまざまな要素で構成されています。ウィンドウ、メニューバー、ダイアログボックス、ラベル、ボタン、テキストボックスなどの「要素」の種類で構成されます。これらの「要素」を総称してコンポーネントと呼びます。

コンポーネントは、さまざまな機能に応じて、最上位コンテナ、中間コンテナ、および基本コンポーネントに分類できます。単純なウィンドウの構成は次のとおりです。

  • トップレベルのコンテナ

  • メニュー バー

  • 中間コンテナ

  • 基本コンポーネント

  • 基本コンポーネント

コンポーネントの種類の継承関係:

最上位コンテナはウィンドウ クラス コンポーネントに属し、java.awt.Window から継承します;

中間コンテナと基本コンポーネントは javax.swing.JComponent から継承します。

(1) 最上位コンテナ

最上位コンテナはウィンドウ コンポーネントであり、独立して表示できます。グラフィカル インターフェイスには、少なくとも 1 つのウィンドウが必要です。例:

##1JFrame 通常のウィンドウ (ほとんどの Swing グラフィカル インターフェイス プログラムは、JFrame をトップレベル コンテナとして使用します) 2Jダイアログ ダイアログ

#コンポーネント
説明






#(2)中間コンテナ

中間コンテナは基本コンポーネントのキャリアとして機能し、独立して表示することはできません。中間コンテナーは、コンテナー内のコンポーネントを管理するために、いくつかの基本コンポーネント (中間コンテナーはネストすることもできます) を追加できます。これは、さまざまな複雑なコンポーネントをグループ化して管理するのと似ています。最上位の中間コンテナは、最上位のコンテナ (ウィンドウ) 内でサポートされている必要があります。

一般的に使用される中間コンテナ (パネル):

##1 2 3JTabbedPaneタブ パネル JLayeredPane 階層パネル #特別な中間コンテナ:

コンポーネント

説明

JPanel
一般的な軽量パネル コンテナ コンポーネント

JScrollPane
水平方向および垂直方向にスクロールできるスクロール バーを備えたパネル コンポーネント

JSplitPane
分割パネル

##4



5



##コンポーネント1JMenuBar#メニュー バー ツールバーポップアップ メニュー 内部ウィンドウ

#説明



##2
JToolBar

3
JopupMenu

4
JInternalFrame

(3) 基本コンポーネント

基本コンポーネントは、人間とコンピュータのインタラクションを直接実現するコンポーネントです。

一般的に使用される単純な基本コンポーネント:

##8JTextAreaテキストエリア 9 JComboBox ドロップダウン リスト ボックス 10 JListリスト 11 JProgressBar# #進行状況バー ##12 セレクターコンポーネント:

コンポーネント
説明
1
Jラベル
ラベル
2
JButton
ボタン
3
JRadioButton
ラジオ ボタン
4
JCheckBox
チェック ボックス
5
JToggleButton
切り替えボタン
6
JTextField
テキスト ボックス
7
JPasswordField
パスワードボックス













Jスライダー
#スライダー

12 その他のより複雑な基本コンポーネント:
コンポーネント
説明

JFileChooser
ファイル ピッカー

JColorChooser
カラー ピッカー

JTableテーブル J ツリー ツリー# ##############################

3. レイアウト マネージャー

パネル コンテナー (JPanel) にさまざまな Swing コンポーネント (JComponent) を追加するには、パネル コンテナーのレイアウト マネージャー (LayoutManager) を指定し、コンテナーのコンテンツを指定する必要があります。 (コンテナ) さまざまなコンポーネントの配置とレイアウト。

一般的に使用されるレイアウト マネージャー:

#コンポーネント
説明

##1



2

#CardLayout カード レイアウト。コンテナ内の各コンポーネントをカードとして扱います。カードは 1 枚のみです。は一度に表示でき、デフォルトでは最初のカードが表示されます。 78 #9##null 絶対レイアウト。 Container 内の座標位置を設定してコンポーネントを配置します。 4. コード例: 単純なウィンドウ プログラム
package com.xiets.swing;import javax.swing.*;public class Main {

    public static void main(String[] args) {        // 1. 创建一个顶层容器(窗口)
        JFrame jf = new JFrame("测试窗口");          // 创建窗口
        jf.setSize(250, 250);                       // 设置窗口大小
        jf.setLocationRelativeTo(null);             // 把窗口位置设置到屏幕中心
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); // 当点击窗口的关闭按钮时退出程序(没有这一句,程序不会退出)

        // 2. 创建中间容器(面板容器)
        JPanel panel = new JPanel();                // 创建面板容器,使用默认的布局管理器

        // 3. 创建一个基本组件(按钮),并添加到 面板容器 中
        JButton btn = new JButton("测试按钮");
        panel.add(btn);        // 4. 把 面板容器 作为窗口的内容面板 设置到 窗口
        jf.setContentPane(panel);        // 5. 显示窗口,前面创建的信息都在内存中,通过 jf.setVisible(true) 把内存中的窗口显示在屏幕上。
        jf.setVisible(true);
    }

}

レイアウト マネージャー
説明
1
FlowLayout
コンポーネントを追加した順に横方向に並べたフローレイアウト。 1つの列がいっぱいになったら、次の列に変更して配置を続けます。
2
GridLayout
グリッド レイアウト。指定された数に従ってコンテナを複数のグリッドに分割します。行と列、各グリッドにコントロールが順番に配置されます。

3

GridBagLayout

グリッドバッグレイアウト、グリッドに従ってコンテナを分割し、各コンポーネントは1つを占有することができます複数のグリッドを使用すると、コンポーネントを垂直方向、水平方向、またはベースラインに沿って配置できます。

4
##BoxLayout
ボックス レイアウト。コンテナ内の複数のコンポーネントを水平方向または垂直方向に配置します。 。
5
GroupLayout
グループ レイアウト、コンポーネントを階層的に (シリアルまたはパラレルで) グループ化し、位置を決定します。コンポーネントグループの水平方向と垂直方向のそれぞれ。
6



##BorderLayout

ボーダー レイアウトは、コンテナを方向 (東、西) に応じて 5 つのエリアに分割します。 、南、北、中央)、各エリアに 1 つのコンポーネントを配置します。


SpringLayout

フレキシブル レイアウトは、オブジェクトの 4 辺の座標位置を定義することでレイアウトを実装します。成分。




結果表示:


以上がスイングコンポーネントとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。