NetBeans を使用して新しい JFrame プロジェクトを作成するときに、自動生成されたコードを調べていたところ、私のmain
メソッドで次のことがわかりました。
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new TestClass().setVisible(true);
}
});
いくつか読んだ後、GUI コンポーネントが EDT で処理されるように、invokeLater の必要性を理解するようになりました。そうは言っても、new TestClass().setVisible(true);
ここで実装されている行は、私には少し気が遠くなります。新しいインスタンスを作成するコンテキストで取得します...
TestClass tclass = new TestClass();
tclass.setVisible(true);
run()
...しかし、上記の方法で何が起こっているのかよくわかりません。そのコードは匿名クラスを作成していますか? 私はその用語に出くわしましたが、まだ完全には理解していません。そのインスタンスを参照するための変数(とにかく見ることができる)がないため、上にリストした「教科書」の方法でインスタンスを作成していないと思います。
余談ですが、main
メソッドをJFrameクラス(またはGUIクラス)内に配置するのは理想的ではないように思われるので、おそらく移動します。