2

javax.swingJava で GUI を作成するときは常に使用してきました。ウィンドウを作成するには、次のように書くだけです。

JFrame frame = new JFrame("Cool Application");

興味があります - はjavax.swing.JFrame実際にどのようにしてフレームを作成し、どのようにしてオペレーティング システムに依存しないようにしているのでしょうか? を使わずに自分でフレームを作成することはできJFrameますか?

4

2 に答える 2

3

ウィンドウの作成は、JVM のネイティブ OS 実装に委任されます。このWindowクラスは、ネイティブ ピア (AKA ピア) への参照の作成と維持を担当します。

は、Window実際には のprotectedメソッドcreateWindowに委譲しToolkitます。のデフォルトのインスタンスはSystemプロパティから初期化awt.toolkitされ、最初の起動時に JVM によって設定されます

2 番目の質問ですが、JNI/JNA を使用すれば可能だと思いますが、実際に何かを追加できるとは思えません。絵画は Java 自体によって管理されているからです。

于 2013-08-09T06:27:58.443 に答える