• 締切済み

java.awt.peer?

javaのAPIでToolkitについて調べているとjava.awt.peerというパッケージについての記述がありました。ですが調べてみてもAPIにはそんなパッケージはなく、ついでにとjavaのライブラリのソースファイルを見てみるとこのパッケージがありました。このパッケージは何のためのパッケージなのでしょうか?

みんなの回答

noname#49664
noname#49664
回答No.1

これは「ピア(Peer)」と呼ばれるものに関するパッケージです。これは今でも実装されていますが、公式ドキュメントからは姿を消しています。これはあくまでJavaが内部的に使われるものであり、開発者に公開される必要がないパッケージですので。(かつ、おそらく近い将来に消滅するだろうパッケージですので公開し直接利用されると困るのでしょう) AWTは、pure Javaではなく、内部的にプラットフォームのネイティブなグラフィックコンテキストによって描画されていることはご存知でしょうか。このネイティブコードとの橋渡しをしている部分がピアです。コンポーネントがnewされると、そのコンポーネントに応じたピアが作成され、そこからネイティブコードが実行されプラットフォームのグラフィックコンテキストのAPIをコールして描画がされます。

annamairu
質問者

お礼

ありがとうございます。実装されているのに公開されていないパッケージなんていうのがあるんですね。これでまた少しjavaを深く理解できました。 >AWTは、pure Javaではなく、内部的にプラットフォームのネイティブなグラフィックコンテキストによって描画されていることはご存知でしょうか。このネイティブコードとの橋渡しをしている部分がピアです。 ではこの「Peer」がAWTとSwingの違いの最たるものという感じですね。

関連するQ&A