LoginSignup
11
11

More than 5 years have passed since last update.

Java Swing 勉強メモ - フレーム作成

Last updated at Posted at 2016-03-27

Javaのプログラミングを学ぶ中で、GUIのアプリケーションを作成したいと思い
JavaSwingの勉強を始めた。

とりあえず、できるようになったことをメモ

フレームの作成

まず、アプリケーション画面のフレームを作るためには
JFrameクラスを使用する。

import javax.swing.JFrame;

でインポート。
コンストラクタを使ってJFrameオブジェクトを作る。
引数として文字列を渡すとそれがタイトルになる。

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

このままでは表示できないので、表示させるためにsetVisibleメソッドを使用する。
使い方は

frame.setVisible(true);

と、trueを渡すことで表示することができる。
これで実行すると
スクリーンショット 2016-03-28 2.52.04.png
という感じになる。現時点ではフレームのサイズを設定していないため最小限のサイズで表示される。

ここまでのソース


import javax.swing.JFrame;
public class MySwing {
    public static void main(String[] args) {
       JFrame frame = new JFrame("タイトル");
       frame.setVisible(true);
    }
}

サイズ・位置指定

フレームのサイズの設定は setSizeメソッドを使用することで可能

frame.setSize(300,300);

また、サイズと同時に、PC画面上のどの位置に表示させるかを指定するsetBoundsメソッドもある

frame.setBounds(100,100,300,300);

第1、2引数で場所の指定(x,y)、3、4引数でフレームのサイズ(x,y)の指定となっている

これでフレームの形ができる

スクリーンショット 2016-03-29 2.20.29.png

また、どのPCでもアプリケーションウィンドウを画面中央に置きたい場合は
setLocationRelativeTo()メソッドを使用。nullを渡すと常に中央にくる。

frame.setLocationRelativeTo(null);

とりあえずフレームは完成したが、このままでは左上のXを押した時、ウィンドウは消えるけど
アプリケーションは終了できていない状態になる。

そこで、Xを押した時アプリケーションも終了させるには
setDefaultCloseOperation()メソッドで終了オプションを設定する必要がある

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

引数として渡している EXIT_ON_CLOSE が「Xを押した時にアプリも終了する設定」となっている。
デフォルトは HIDE_ON_CLOSE (フレームを非表示にする)

全ソース

import javax.swing.JFrame;

public class MySwing {
    public static void main(String[] args) {
       JFrame frame = new JFrame("タイトル");
       frame.setVisible(true);
       frame.setSize(300,300);
       frame.setLocationRelativeTo(null);
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

とりあえずここまで

11
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
11