フレームのサイズと表示位置

広告

前のページで確認した通り、フレームは作成した時点ではサイズが0となっています。そこでここではフレームのサイズを設定する方法を確認します。

フレームのサイズを設定するにはJFrameクラスの親クラスであるWindowクラスで定義されているsetSizeメソッドを使います。

このコンポーネントのサイズを width および height に変更します。

width および height の値は、いずれかが直前の setMinimumSize の呼び出しで指定された最小サイズ
よりも小さい場合、自動的に大きくなります。 

パラメータ:
  width - このコンポーネントの新しい幅 (ピクセル単位)
  height - このコンポーネントの新しい高さ (ピクセル単位)

1番目の引数に幅のサイズを指定し、2番目の引数に高さのサイズを指定します。いずれも単位はピクセルとなります。

例えばフレームの幅を100ピクセル、高さを80ピクセルに設定する設定する場合は次のように記述します。

JFrame frame = new JFrame("タイトル");

frame.setSize(100, 80);

フレームの表示と位置の指定

Javaのプログラムであってもフレームを持つようなプログラムの場合、Windows画面上にアプリケーションウィンドウが表示されることになります。サイズに加えてWindows画面のどの位置にプログラムのウィンドウが表示されのかを指定するにはJFrameクラスの親クラスであるWindowクラスで定義されているsetBoundsメソッドを使います。

このコンポーネントを移動し、サイズ変更します。左上隅の新しい位置は x および y によって指定
され、新しいサイズは width および height によって指定されます。

width または height の値は、いずれかが直前の setMinimumSize の呼び出しで指定された最小サイ
ズよりも小さい場合、自動的に大きくなります。 

パラメータ:
  x - このコンポーネントの新しい x 座標
  y - このコンポーネントの新しい y 座標
  width - このコンポーネントの新しい width
  height - このコンポーネントの新しい height

1番目の引数と2番目の引数でアプリケーションが表示される座標を指定します。そして3番目と4番目の引数で幅と高さを指定します。いずれも単位はピクセルとなります。

位置は表示するアプリケーションの左上隅をどこに位置させるのかを指定することになります。Windows画面の左上隅を起点(0,0)とし、右方向がx座標、下方向がy座標で指定します。

例えば表示する位置をWindows画面の左上隅から(200, 200)の位置に表示し、フレームの幅を100ピクセル、高さを80ピクセルに設定する設定する場合は次のように記述します。

JFrame frame = new JFrame("タイトル");

frame.setBounds(200, 200, 100, 80);

サンプル

では実際に試してみます。

SSample2_1.java

import javax.swing.JFrame;

class SSample2_1{
  public static void main(String args[]){
    JFrame frame = new JFrame("タイトル");
    frame.setBounds(200, 200, 200, 160);
    frame.setVisible(true);
  }
}

ではコンパイルを行った上で実行してみます。

p2-1

作成したフレームはWindows画面の左上隅から(200, 200)の位置に表示されます。そしてフレーム自身は次のように表示されます。

p2-2

この時注意して頂きたいのがフレームのサイズに指定した200×160ピクセルは表示されたフレーム全体の大きさであるという点です。

p2-3

内側の部分は今回の場合で言えば192×126ピクセルとなります。今後コンポーネントを追加していく場合などには注意して下さい。

( Written by Tatsuo Ikura )