トップ 言語 Java クラスライブラリ Swingとは

JavaのSwingとは―GUI作成のための標準ライブラリ。同じソースで各種OSで動作

GUI作成のための標準ライブラリ。同じソースで各種OSで動作する。JavaのSwingとは何かについてまとめています。

▲記事トップへ

目次

この記事の目次です。

1. JavaのSwingとは
2. SwingとAWT
3. Swingの特徴
4. 関連クラス

もっと知識を広げるための参考
更新履歴

1. JavaのSwingとは

Swingとは、ウィンドウをもつプログラムに必要な機能をまとめたJava標準のライブラリです。 Javaでリッチなクライアント、GUIアプリケーションを作成するためのJava標準のライブラリです。

2. SwingとAWT

JavaではSwingの他に、GUIアプリケーションを作成するためのライブラリとして、AWTと呼ばれるライブラリも提供されています。 SwingはJavaのGUI部品郡の1つで、AWTの上部に作成されたパッケージで、AWTを拡張した機能を持っています。

AWTは実行中のコンピュータに依存するウィンドウとなることが特徴です。 Swingは上記のように実行中のコンピュータに依存しません。

3. Swingの特徴

Swingの特徴は、何といっても同じソースコードで各種OSで動かせる点です。

リファレンスには「すべてのプラットフォームで可能なかぎり同じように機能する、「軽量」(Java 共通言語) コンポーネントのセットを提供します。」と書かれています。 すべてがJavaで記述されていて、同じソースコードで表示などすべてのOSで統一することが出来ます。

それ以外の特徴も含め、以下にSwingの特徴をまとめてみます。

  1. JavaでGUIプログラムが作成できる

    Swingを使うと、Javaでボタンやアイコン、メニューなどを取り入れたグラフィカルなプログラムを作成できるようになります。

  2. Windows、Mac、Linuxなど各種OSのGUIプログラムが同じコードで記述できる

    Swingは、Javaなので、Windows、Mac、Linuxなど各種OSのGUIプログラムが同じコードで記述できます。 すべてJavaで書かれており、完全なクロスプラットフォームです。

  3. きめ細かい設定やカスタマイズが行える

    既存のAWTコンポーネントの完全Java版であるボタン、リストなどと高レベルで完全Javaコンポーネントであるツリービュー、テーブルビューなどから構成されています。 きめ細かい設定やカスタマイズが可能です。

  4. デザイン面を気にしなくてもそこそこのデザインになる

    Swingコンポーネントを使用すると、動作だけでなく、表示もすべてのOSで統一することが出来、Metalと呼ばれるルックアンドフィールが標準となっています。

  5. オブジェクト指向の実装でライブラリ化して部品が再利用できる。

    Java Beansアーキテクチャに対応しており、高度なGUIコンポーネントをそのままソフトウェア部品として再利用できます。

4. 関連クラス

Swing関連のクラスです。

JLabelクラス

テキスト表示、改行、画像表示の方法など。JLabelクラスについてまとめています。

詳細

JMenuクラス

JMenuクラスはAbstractButtonクラスのサブクラスとなっています。 またJMenuクラスはJMenuItemクラスのサブクラスです。

:
+--javax.swing.AbstractButton
           l
           :
           +--javax.swing.JMenuItem
                      |
                      +--javax.swing.JMenu
                      :

JMenuクラスにイベントを登録して、JLabelのラベルの表示内容の変更などユーザのアクションに応じて処理できます。

JLabelのラベルの表示内容を変更する例

ここでは、JMenuクラスを使用してJMenuでラベルを変更してみます。

サンプルソース
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.event.*;

public class JMenuSample
                  extends JFrame implements ActionListener
{
    JPanel p = new JPanel();
    JMenuBar menu = new JMenuBar();
    JMenu fileMenu = new JMenu("ファイル");
    JMenuItem itemhello = new JMenuItem("ラベル変更");
    JLabel label = new JLabel("ラベル");

    public static void main(String[] args){
        JMenuSample frame = new JMenuSample();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setBounds(10, 10, 300, 100);
        frame.setTitle("JMenuSample!!");
        frame.setVisible(true);
    }

    JMenuSample(){
        setJMenuBar(menu);
        menu.add(fileMenu);
        fileMenu.add(itemhello);
        itemhello.addActionListener(this);
        p.add(label);
        getContentPane().add(p, BorderLayout.CENTER);
    }

    public void actionPerformed(ActionEvent e){
        //JLabelクラスを使ってJMenuSample!!と表示させる
        label.setText("JMenuSample!!");
    }
}
実行結果

javac JMenuSample.javaでコンパイルして、java JMenuSampleで実行すると次のようになります。

JMenuを用いたサンプルプログラムの実行結果

drawLineメソッド

JavaのdrawLineメソッドについてまとめています。 JavaのSwingで作成した画面に直線、点線、色変更、曲線、自由に線を引くなど、多数のサンプルコードがあります。

詳細

もっと知識を広げるための参考

もっと知識を広げるための参考です。

Java言語

Javaとは?から言語の枠を超えるところまで、Java言語についてまとめています。

詳細

更新履歴

更新履歴になります。

戻る

スポンサーリンク

サイト内のページ

言語
C・C++ /HTML /Java /JavaScript /PHP /シェルスクリプト

開発環境
Ant /Eclipse /Fiddler /gcc /gdb /Git /g++ /JDK /JMeter /JUnit /Teraterm /ZAP

技術・仕様
Ajax /CORBA /Jakarta EE(旧称J2EE、Java EE) /JNI

ライブラリ/Framework/CMS
bootstrap /jQuery /FuelPHP /Lucene /MyBatis /Seasar2 /Spring /Struts /WordPress

Web API
Google Maps

ITインフラOSとミドルウェア
Linux /Windows /シェル
ActiveMQ /Tomcat /MariaDB /MySQL /Nagios /Redis /Solr

ITインフラサーバー
公開Webサーバー

ITインフラネットワーク
プログラミング /構築

ITインフラセキュリティ
公開サーバーのセキュリティ

PC製品
ZOTAC

SI
ホームページの作り方

その他
IT用語 /ITスキル体系

スポンサーリンク

関連サイト内検索ツール

zealseedsおよび関連サイト内のページが検索できます。

IPアドレス確認ツール

あなたのグローバルIPアドレスは以下です。

3.238.180.255

HTMLの表示色確認ツール

パスワード生成ツール

文字数のプルダウンを選択して、取得ボタンを押すと「a~z、A~Z、0~9」の文字を ランダムに組み合わせた文字列が表示されます。

ここに生成されます。

スポンサーリンク