1. ウィンドウの作成
1.1. ウィンドウの作成
ウィンドウの作成は「javax.swing.JFrame」クラスを使用します。このクラスを拡張して新たなウィンドウを作成するか、拡張せずにそのまま使用します。以下にそのまま使用する場合の例を示します。
import javax.swing.*; public class SampleFrame{ public static void main(String args[]){ JFrame frame=new JFrame("test"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(400,400); frame.setVisible(true); } }
1行目の「import」文はクラスを探すのを便利にするための宣言です。5行目で「JFrame」クラスを呼び出していますが、このクラスの正式名は「javax.swing.JFrame」ですので、この通りに書く必要があります。しかし「import」文を書くことにより「javax.swing.」の部分を省略できるようになります。javaではクラス名が現れた場合、「import」文で示されたところや同一パッケージ内(サンプルの場合はパッケージの指定が無いので同一ディレクトリ)からクラスを探します。パッケージについては後の章で説明します。
サンプルプログラムの説明に戻ります。5行目でJFrameのインスタンスを作成しています。コンストラクタは1つ引数を取るものを使用していますが、これによりウィンドウのタイトルを指定する事ができます。JFrameには他に3つのコンストラクタが存在します。APIドキュメントで確認してみてください。
6行目でウィンドウの「閉じる」ボタンを押した場合のアプリケーションの動作を指定しています。ボタンを押したとき、アプリケーションも終了するように設定しているのですが、最初はおまじないのようなものだと考えてください。
7行目でウィンドウのサイズを指定しています。ここでは「400,400」のサイズにしています。
8行目でウィンドウを表示しています。JFrameのコンストラクタは、「見えない」ウィンドウを作成するものです。画面上に表示するためには「setVisible」メソッドを呼び出す必要があります。
他にもJFrameクラスは、親クラスから継承されるメソッドも含めて多数のメソッドを持っています。その全てを使用することは無いですが(また理解する必要もあまり無いですが)、どのようなメソッドがあるか、知っておくことは有意義な事です。APIドキュメントには目を通すように努めてください。
(実習課題1)
サンプルプログラムを改良しなさい。
- JFrameクラスを拡張してウィンドウを作成する事。
- main関数の中のプログラムは以下の2行のみとする事。
SampleFrame frame=new SampleFrame(); frame.setVisible(true);