1

Java では、AWT フレームがあり、フレーム内に 4 つの AWT コンポーネントを追加しました。これらの AWT コンポーネントは、AbsoluteLayout を使用して配置されます。

x と y の位置を渡すと、AWT コンポーネントのインスタンスを取得する方法はありますか?

4

2 に答える 2

2

を使用して、いつでも親コンポーネントを照会できますgetComponentAt()

public Component getComponentAt(int x, int y)

このコンポーネントまたはその直下のサブコンポーネントの 1 つに含まれているかどうかを判断します
(x, y) の位置。そうであれば、それを含むコンポーネントを返します。この方法
1 レベルの深さにしか見えません。ポイント (x, y) がサブコンポーネント内にある場合、
それ自体がサブコンポーネントを持っているため、サブコンポーネント ツリーをたどることはありません。

Component の locate メソッドは、(x, y) 座標位置が境界ボックス内にある場合はコンポーネント自体を返し、それ以外の場合は null を返します。

    パラメーター:
        x - x 座標
        y - y 座標
    戻り値:
        (x, y) 位置を含むコンポーネントまたはサブコンポーネント。場所がこのコンポーネントの外にある場合は null
    以来:
        JDK1.0
    関連項目:
        含む (int, int)

Java 7: http://docs.oracle.com/javase/7/docs/api/java/awt/Component.html#getComponentAt%28int,%20int%29

Java 6: http://docs.oracle.com/javase/6/docs/api/java/awt/Component.html#getComponentAt%28int,%20int%29

于 2012-12-28T15:33:56.310 に答える
1

はい、参照を参照してください:

Container.getComponentAt()
于 2012-12-28T15:34:01.433 に答える