Swing の paintComponent(Graphics g) メソッドをオーバーライドしてカスタム シェイプを描画することには慣れていますが、逆曲線を使用して四角形をペイントするのに苦労していました ( http://imgur.com/ih25Xを参照)。
これをペイントできる Shape オブジェクトを作成する方法を知っている人はいますか?
Swing の paintComponent(Graphics g) メソッドをオーバーライドしてカスタム シェイプを描画することには慣れていますが、逆曲線を使用して四角形をペイントするのに苦労していました ( http://imgur.com/ih25Xを参照)。
これをペイントできる Shape オブジェクトを作成する方法を知っている人はいますか?
GeneralPathは、任意の形状を記述する典型的な方法だと思います。
あなたの場合、 で記述された 2 つの線と で記述されたlineTo
2 つの (曲線)があるように見え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);