1

虽然我熟悉重写 Swing 的 paintComponent(Graphics g) 方法和绘制自定义形状,但我很难用一些反向曲线绘制一个矩形(请参阅http://imgur.com/ih25X)。

有谁知道我将如何创建可以让我画这个的 Shape 对象?

4

1 回答 1

3

我相信GeneralPath是描述任意形状的典型方式。

在您的情况下,看起来您将有两条用 描述的线lineTo和两条(曲线)用 描述quadTo,然后调用 closePath() 来表示一个封闭的多边形,例如(在这里选择方便的坐标,您可能需要一些好交易更大):

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 回答