Javaのプログラミングを学ぶ中で、GUIのアプリケーションを作成したいと思い
JavaSwingの勉強を始めた。
とりあえず、できるようになったことをメモ
#フレームの作成
まず、アプリケーション画面のフレームを作るためには
JFrameクラスを使用する。
import javax.swing.JFrame;
でインポート。
コンストラクタを使ってJFrameオブジェクトを作る。
引数として文字列を渡すとそれがタイトルになる。
JFrame frame = new JFrame("タイトル");
このままでは表示できないので、表示させるためにsetVisibleメソッドを使用する。
使い方は
frame.setVisible(true);
と、trueを渡すことで表示することができる。
これで実行すると
という感じになる。現時点ではフレームのサイズを設定していないため最小限のサイズで表示される。
ここまでのソース
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)の指定となっている
これでフレームの形ができる
また、どの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);
}
}
とりあえずここまで