[[JAVAとC++]] [[JavaとC++]] * JAVAのFrame [#db6bd6a0] * JavaのFrame [#db6bd6a0] まずは、application を制御するための frame window を作る。 JAVA の場合、これはいたって簡単で、 Java の場合、これはいたって簡単で、 import java.awt.*; をやって、Frame class または、それを継承した class から object を生成すればよい。 ここでは、一応継承することにしよう。 import java.awt.*; public class MyFrame extends Frame { public static void main(String [] args) { new MyFrame(); } MyFrame() { super("My Application"); setSize(200, 100); setVisible(true); } } で、これは例によって、close button (Windows の場合 [X] button)を 押しても close しない window なので、このままではユーザはオロオロする。 そこでまともに close する window にするため windowClosing を実装する のだが、WindowListener の interface を実装するか interface を実装した abstruct class である WindowAdapter を使うかの 選択がある。WindowListener の interface の実装では、dummy であっても すべての interface を実装しなければならないので、JAVA お得意の仕様変更が すべての interface を実装しなければならないので、Java お得意の仕様変更が あった時困る。そこで、ここでは WindowListener の abstruct class である WindowAdapter を使うことにしよう。 import java.awt.*; import java.awt.event.*; public class MyFrame extends Frame { public static void main(String [] args) { new MyFrame(); } MyFrame() { super("My Application"); setSize(200, 100); setVisible(true); addWindowListener ( new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } } ); } }