虽然我熟悉重写 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);
另外,看看这个 tutorial on GeneralPath
关于java - 使用 Swing 绘制逆曲线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14160718/