1

Swing の paintComponent(Graphics g) メソッドをオーバーライドしてカスタム シェイプを描画することには慣れていますが、逆曲線を使用して四角形をペイントするのに苦労していました ( http://imgur.com/ih25Xを参照)。

これをペイントできる Shape オブジェクトを作成する方法を知っている人はいますか?

4

1 に答える 1

3

GeneralPathは、任意の形状を記述する典型的な方法だと思います。

あなたの場合、 で記述された 2 つの線と で記述されたlineTo2 つの (曲線)があるように見えquadToます。かなり大きい):

GeneralPath polygon = 
    new GeneralPath(GeneralPath.WIND_EVEN_ODD, 4);
polygon.moveTo(2.0, 1.0);
polygon.lineTo(2.0, 5.0);
polygon.quadTo(1.25, 4.75, 1.0, 4.0);
polygon.lineTo(1.0, 2.0);
polygon.quadTo(1.75, 1.75, 2.0, 1.0);
polygon.closePath();
g.draw(polygon);

また、GeneralPath に関するこのチュートリアルもご覧ください。

于 2013-01-04T16:50:07.967 に答える