ウィンドウの作成・表示
それでは、実際にアプリケーションを作成していきましょう。まず、ウィンドウの作成とその表示
をします。これがなくてはアプリケーションと呼びようがありません(笑)。というのはおいといて
前回説明したサンプルをコピーします。そして”ここに変数を宣言する”という部分に次の記述をします。
JFrame jframe;
これは、ウィンドウをあらわすクラスの型だと思ってください。そして、”初期処理を記述”という部分に
次のように記述します。
jframe = new JFrame("テスト");
jframe.setVisible(true);
最初の文で、JFrameのインスタンスを生成します。つまり実際のウィンドウを作成します。次の文の記述
setVisibleメソッドにtrueを与えて、ウィンドウをディスプレイに表示させます。
では実行してみてください。次のようなウィンドウが出ましたか??

終了設定
前回のウィンドウでは、終了設定をしていませんでした。今回の作成方法では、終了設定を何も
しないと、×ボタンを押した時に何も表示せず、終了してしまいます。でも×ボタンを押した時に
何か処理をさせたい時もあるでしょう。今回はその方法を紹介します。
まず、初期値(×ボタンを押した時に何も表示せず終了する)を×ボタンを押しても終了しない
ように設定します。前回作成したSample.javaの”初期処理を記述する”の部分に次の文を追加します。
jframe.setDefaultCloseOperation(jframe.DO_NOTHING_ON_CLOSE);
そして、次の終了設定をウィンドウに追加するプログラムコードを記述します。
jframe.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent we){
}
});
この、windowClosingメソッドの中に、設定したい×ボタンを押した時の処理を記述します。
今回は簡潔にSystem.exit(0)として、単に終了させるプログラムとしましたが、
後述する、ダイアログボックスと組み合わせると、×ボタンを押した時に終了確認を行う
機能をウィンドウに持たせることが出来ます。
では実行してみてください。次のようなウィンドウが出ましたか??

前回と同じようになっているはずです。。。
サイズ変更
前回、前々回と作成したプログラムは、サイズが極小でした。これはウィンドウサイズの初期値が
横幅0、高さ0と設定されているためです。この設定を変更するためにはsetSizeメソッドを使用します。
前回作成したSample2.javaの”初期処理を記述する”の部分に次の文を追加します。
jframe.setSize(300,200);
これはウィンドウサイズを幅300、高さ200に設定します。実行してみて、サイズが変更されていることを
確かめてください。
しかし、これは正確な300×200のウィンドウではありません。この300,200にはウィンドウのタイトルバーの縦幅
や下、左、右のフレームの枠の長さも含まれているからです。そこで正確なウィンドウサイズを設定するためには
ウィンドウのタイトルバーや下、左、右のフレームの枠の長さを取得する必要があります。それには次の文を記述します。
Insets insets = jframe.getInsets();
これで、長さを取得できました。それぞれの長さは以下の変数に格納されています。
| タイトルバーの縦幅 |
insets.top |
| 下のフレームの枠の長さ |
insets.bottom |
| 左のフレームの枠の長さ |
insets.left |
| 右のフレームの枠の長さ |
insets.right |
先ほどと同じように設定するわけですが、今度はこのタイトルバーやフレームの長さを含めた
大きさを設定してやる必要があります。たとえば幅300、高さ200のウィンドウを作成したい時は
jframe.setSize(300 + 左のフレームの枠の長さ + 右のフレームの枠の長さ,200 + タイトルバーの縦幅 + 下のフレームの枠の長さ);
とします。つまり、先ほどのsetSizeメソッドを次のように変更する必要があります。
jframe.setSize(300 + insets.left + insets.right,300 + insets.top + insets.bottom);
実行してみます。少しサイズが大きくなっていることに気がつきませんか??

初期位置の設定
ウィンドウが現われる初期位置は左上でした。(作成者のPC環境)これを中央に表示させたり、任意の位置に
表示させたりする方法を紹介します。
中央に表示させる方法
前回作成したSample3.javaの”初期処理を記述する”の部分に次の文を追加します。
jframe.setLocationRelativeTo(null);
実行すると、ウィンドウが中央に表示されます。
任意の位置に表示させる方法
前回作成したSample3.javaの”初期処理を記述する”の部分に次の文を追加します。
jframe.setLocation(400,300);
実行すると、指定した位置にウィンドウが表示されます。