Twitter クライアント開発に学ぶ Java GUI (Swing) プログラミング
目次
- #0 はじめに
- #1 開発環境の構築
- #2 Maven Project の作成
- #3 外部ライブラリの使用
- #4 Thread の使用
- #5 GUI ウィンドウの作成
- #6 TL を表示
はじめに
この文書は、Java の基本的な構文の勉強を終えた人が GUI プログラミングを行う際に参考になるように書いた、GUI プログラミングのチュートリアルです。
GUI プログラミングとは
Java でプログラムを作成するとき、最初はターミナル (Windows だと MS-DOS など) 上で、文字列を表示する、ということをしたと思います。 そのようなプログラムを CUI (Character-based User Interface) プログラムといいます。
一方で、Windows や Mac OS では (さらに最近の Unix 互換 OS でも) マウスを使った操作を行うことが一般的です。 ボタンがあって、そのボタンをクリックすると何かが起こる、というように、文字列ではなく視覚的な (Graphical) インターフェイスを持っています。 そのようなプログラムを GUI (Graphical User Interface) プログラムといいます。
GUI プログラムを作ることを、GUI プログラミングと呼んでいます。
Java における GUI プログラミング
C/C++ などで GUI プログラムを書こうとすると、OS の機能を使うことになるため簡単ではないという問題があります。 当然 Windows 用の GUI プログラムと Linux 用のプログラムは全く違うものになります。
一方 Java の場合は GUI 関係の機能が Java に組み込まれており、(C/C++ などと比べて) 簡単に GUI プログラムを書くことができます。 さらに、OS ごとにプログラムを書き換えなくて良いという利点もあります。 Java で GUI プログラムを作るためのツールキットは、以下に挙げるように 3 種類もあります。 AWT は古く、SWT は標準ではないため、一般的には Swing が使われているのではないかと思います。 この文書内でも Java GUI = Swing として扱うこととします。
- AWT (Abstract Window Toolkit)
- Java 独自の GUI ツールキット。 Java プログラム用の GUI を提供する標準 API の一部である。
- Swing
- AWT を拡張した GUI ツールキット。
- SWT (Standard Widget Toolkit)
- IBM が Eclipse のために開発した GUI ツールキット。 OS 固有の API を Java から使用するという手法を採っており、AWT や Swing と比べて軽快であると言われる。 Java の標準 API ではない。
この文書の目的
Java の基本を覚えた人 (テキストエディタでプログラムを書いて、ターミナル上でそのプログラムを実行できる人) のために、Java 開発環境の構築から説明を始め、外部ライブラリの使用方法なども含めて GUI (Swing) プログラムを作成する方法をチュートリアル形式で説明することを目的とします。
なお、この文書はチュートリアル形式で進めていきます。 Twitter という web サービスがあるのですが、その web サービスの API を Java で操作する、ということを行いますので、Twitter のアカウントを持っていないという方は取得しておいてください。 Twitter アカウントの取得は下記ページより。
対象読者
目的でも述べましたように、対象とする読者は、
- Java に関する基本的な知識がある
- OS の設定など PC に関してある程度知識がある
という人です。