0

java.awt.ComponentメソッドのJavaドキュメントにはgetComponentAt、コンポーネントまたはサブコンポーネントを返すことができると記載されています。

サブコンポーネントとは何ですか?コンポーネントからすべてのサブコンポーネントを取得する方法はありますか?

ここで言及されているサブコンポーネント:http://docs.oracle.com/javase/7/docs/api/java/awt/Component.html

4

1 に答える 1

2

awtは、他のコンポーネントを含むことができるContainer特別なクラスとして使用します。Componentしたがって、すべてのコンポーネントの列挙はと呼ばれContainer.getComponents()ます。Componentなぜ彼らがクラスではなくクラスでサブコンポーネントにアクセスすることを決めたのかContainer、私にはわかりませんが、それはそうです。おそらくその理由はgetComponentAt、その場所にサブコンポーネントがなく、実際に指定された位置が含まれている場合、メソッドが呼び出されたコンポーネントも返すためです。

したがって、すべてのサブコンポーネントを見つけるには、コンポーネントがコンテナであるかどうかを確認します。そうでない場合は、サブコンポーネントを持つことはできません。そうである場合は、それらにキャストしContainerてアクセスします。サブサブコンポーネントも必要な場合は、繰り返します。

于 2012-07-11T15:39:04.947 に答える