こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Java AWTのコンポーネントについて

JavaのAWTで軽量コンポーネントと重量コンポーネント、軽量コンテナ・重量コンテナとありますが、
それぞれどのようなものでしょうか?
ネイティブのピアを持つもの持たないものなどの違いがあると思いますが、
具体的にどのクラスはピアを持っていて、どのクラスはピアを持っていないのかを
簡単にわかる方法はないでしょうか?

書籍やネットでは「ComponentやContainerを直接拡張したクラス」は軽量とあるのですが、
「直接拡張したクラス」は継承とは別のようなので、理解に困っております。
PanelやCanvasは重量コンポーネントという記述はみつけたのですが、
Panelなどがなんで重量なのかがわからないです。

理解できていないので、わかりづらい質問になってしまい恐縮ですが、
詳しい方いましたら教えて頂けないでしょうか。

投稿日時 - 2012-03-13 22:46:15

QNo.7360684

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

軽量コンポーネントかどうかは isLightweight() メソッドでわかります。
重量か軽量かはネイティブへのピアを持つかどうかで呼び分けているようです。
「直接拡張したクラス」などという表現をどこで見たのか知りませんが、継承のことでしょう。

投稿日時 - 2012-03-14 10:38:11

あなたにオススメの質問