画面の描画処理は、paintメソッドで行う。
これは、Frameクラスの親のWindowクラスの親のContainerクラスのメソッドである。
Container (Java Platform SE 6)
GUIアプリケーション(AWT その2)
AWTとSwingのペイント(paint)の仕組み
Frameを継承したクラスMainFrameで、paintをオーバーライドして、直線を描画する。
まずは、CustomAdapter.javaで、
ウィンドウを閉じた時の処理を書く。
WindowAdapterの継承クラスに書いておけば、すべてのイベント処理を書く必要はなくなる。
MainFrame.javaで、
コンストラクタにて、addWindowListenerで、newで生成したCustomAdapterのインスタンスをセット。
これで先程のウィンドウのイベント処理が行われる。
今回の本題であるpaint。
Graphicsオブジェクトgが渡されるので、g.drawLineで(100, 100)-(200, 200)の直線を引く。
あとは、MainClass.javaで、
MainFrameオブジェクトmainFrameを生成して表示する。
ちゃんと直線が描画されている。
Sample/java/Container/paint/src/Container at master · bg1bgst333/Sample · GitHub