Comment detail

ウィンドウの表示 (Nested Flatten)
ウィンドウを画面中央に移動するには
JFrame#setLocationRelativeTo(null);
が簡単です。

ついでに
ウィンドウをすべて破棄(dispose)すると、VMは終了します。実装方法はプラットフォームによって違うかもしれませんが、多分ウィンドウの全破棄を検知するスレッドが動いています。
よって、1ウィンドウならそれをdisposeすればVMは終了します。System.exit(int)を使うと本当にその場でVMを終了してしまいます。
しかしじゃあなんでJFrame.EXIT_ON_CLOSEなんてものがあるかといえば、それはまあ利便性のためで、宗教戦争じみてくるのでやめておきます。
とりあえず今回はSystem.exit(0);(EXIT_ON_CLOSE)で全く問題ありません。しかし同じ1行でdispose();(DISPOSE_ON_CLOSE)と書いても同じ動作が得られます。

×を押す
→windowCloseingイベント(setDefaultCloseOperationによる自動実行のタイミング)
dispose();する
→windowClosedイベント

windowCloseingでdispose();してwindowClosedに終了処理を書くとウィンドウがたくさんあっても管理が楽になります。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
import javax.swing.JFrame;

public class ShowWindow {

    public static void main(String args[]) {
        final int WIDTH = 100;
        final int HEIGHT = 75;
        JFrame frame = new JFrame("こんにちは、GUI!");
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        frame.setSize(WIDTH, HEIGHT);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }

}

Index

Feed

Other

Link

Pathtraq

loading...