Java 如何在Piccolo2D中绘制曲线?
我正试图用Java在Piccolo2D中创建一条曲线 这是我的密码Java 如何在Piccolo2D中绘制曲线?,java,piccolo,Java,Piccolo,我正试图用Java在Piccolo2D中创建一条曲线 这是我的密码 public class MyCanvas extends PSwingCanvas{ private void drawLine(PPath inSocket, PPath outSocket) { float startX = (float)inSocket.getX(); float startY = (float)inSocket.getY()+4; float endX = (float)outSock
public class MyCanvas extends PSwingCanvas{
private void drawLine(PPath inSocket, PPath outSocket) {
float startX = (float)inSocket.getX();
float startY = (float)inSocket.getY()+4;
float endX = (float)outSocket.getX()+8;
float endY = (float)outSocket.getY()+4;
PPath line = PPath.createLine(startX, startY, endX, endY);
line.curveTo(endX+60,endY,startX-60,startY, startX, startY);
getLayer().addChild(line);
}
public void testGraph(){
PPath in = PPath.createEllipse(100f, 100f, 8, 8);
PPath out = PPath.createEllipse(200f, 200f, 8, 8);
this.getLayer().addChild(in);
this.getLayer().addChild(out);
drawLine(out,in);
}
public static void main(String[] args){
final JFrame frame = new JFrame("Testing");
MyCanvas canvas = new MyCanvas();
canvas.testGraph();
frame.getContentPane().add(editor);
frame.setPreferredSize(new Dimension(600, 400));
frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
frame.setVisible(true);
}});
}
}
我得到的图表是:
如何去除两点之间的原始线段,以便只看到曲线?这可能太晚了,但无论如何,您可以尝试以下方法:
PPath line = new PPath();
line.moveTo(endX, endY);
line.curveTo(endX + 60, endY, startX - 60, startY, startX, startY);
以下是基于原始代码示例的结果:
这可能太晚了,但无论如何,您可以尝试以下方法:
PPath line = new PPath();
line.moveTo(endX, endY);
line.curveTo(endX + 60, endY, startX - 60, startY, startX, startY);
以下是基于原始代码示例的结果: