『とほほのJava入門』「AWT フレーム」

『とほほのJava入門』を読んでいるところ

17. AWT の「フレーム」
FrameTest.java の動作確認


C-c で終了。
ウィンドウを閉じる機能はここ(AWTの章)では説明するつもりがないようだ。


わざわざコンストラクタを作って main から呼び出す必要なんてないじゃん!と
思ってコンストラクタのコードを main の中で呼んでみたら、コンパイルエラー…。

なるほど、そういうものだったか…。

C2008010501.java:17: super の呼び出しはコンストラクタの先頭文でなければなりません。
        super("FrameTest");
             ^
C2008010501.java:18: static でない メソッド setSize(int,int) を static コンテキストから参照することはできません。
        setSize(200, 100);
        ^
C2008010501.java:19: static でない メソッド show() を static コンテキストから参照することはできません。
        show();
        ^
エラー 3 個


良く見たら、そのままはダメだけどちょっと書き換えたら
main の中で呼ぶこともできた。Frame を継承して作るのが作法らしいが。

import java.awt.*;

public class C2008010502 {
    public static void main(String [] args) {
        Frame f = new Frame("FrameTest");
        f.setSize(200, 100);
        f.show();
    }
}