4

Dimensionクラス ( )を使用したいのですjava.awt.Dimensionが、サポートされているのは整数のみです。次のような Rectangle および Square クラスを作成します。

コンストラクタ:

public Rectangle(Dimension dim(double A, double B)) {
    // constructor code
}

Dimension クラスの独自の実装を作成する方がよいでしょうか?

4

3 に答える 3

7

java.awt.Dimensionたまたま必要なものに似たインターフェイスを提供するという理由だけで使用しないでください。はじめにドキュメントで述べているように:

Dimension クラスは、コンポーネントの幅と高さを ... 単一のオブジェクトにカプセル化します。

componentとは、Java AWT コンポーネントを意味します。a を他のものに使用するのは奇妙に思えjava.awt.Dimensionます。

の独自の実装を提供する場合はjava.awt.Dimension、Java ランタイム環境によって提供されるものと同じインターフェースに準拠する必要があります。だから何も得られない。ところで、独自の の実装を提供する必要はありませんjava.awt.Dimension。Java ランタイム環境は、完全に適切な実装を既に提供しています。

float 値を幅と高さとして処理できる独自のクラスを記述します。

于 2013-06-30T11:27:24.273 に答える
4

JavaDocを参照してください。

このDimensionクラスは、コンポーネントの幅と高さ (整数精度) を単一のオブジェクトにカプセル化します。

したがって、幅と高さを浮動小数点精度で保持する Dimension クラスが必要な場合は、 を使用できませんjava.awt.Dimension。メソッドのjava.awt.Dimension提供を見ると、独自の実装を提供するのはかなり簡単なはずです。

于 2013-06-30T11:21:45.597 に答える
2

Dimension.setSize(double,double)代わりに使用してください。

于 2013-06-30T11:54:19.343 に答える