java - 使用 Swing 绘制逆曲线?

标签 java swing graphics shapes

虽然我熟悉重写 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/

相关文章:

java8如何创建嵌套列表?

Java JMenu setAccelerator() 问题

java - jCombobox JPA HQL内连接错误

java - 无法编辑 JTextField - Java Swing

Qgraphicsscene : how to create a new layer?

c - 带有 GL_CURRENT_COLOR 的 glGetFloatv 不起作用

java - MongoDB java驱动程序获取记录,其中日期和用户之间

java - 错误处理系统如何处理错误?

java - 如何调用vetoableChange?

c# - Bézier 曲线、Loop 和 Blinn 样式