虽然我熟悉重写 Swing 的 paintComponent(Graphics g) 方法和绘制自定义形状,但我很难用一些反向曲线绘制一个矩形(请参阅http://imgur.com/ih25X)。
有谁知道我将如何创建可以让我画这个的 Shape 对象?
虽然我熟悉重写 Swing 的 paintComponent(Graphics g) 方法和绘制自定义形状,但我很难用一些反向曲线绘制一个矩形(请参阅http://imgur.com/ih25X)。
有谁知道我将如何创建可以让我画这个的 Shape 对象?
我相信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 上的本教程