我在JavaFX中使用CubicCurve很难.如何画一个例子:y = x ^ 3?绘制曲线的机制看起来非常笨拙.
还可以将曲线的一个端点连接到另一个节点,因此当该节点的位置发生变化时,曲线会适应它吗?
谢谢.
示例代码如下.这会为所有内容输出全零.对于ToolBar,它还显示零.对于Text,它输出非零宽度和高度.这是Label上的错误,还是故意的?我应该做些什么来让Label有自己的界限吗?我尝试过其他线程,移动,各种各样的东西.
注意:所有节点都按预期显示.只是获得了无效的Bounds.
我看到了一些关于在boundsInParent属性上使用监听器的事情.当我尝试这个时,数字在许多事件中反弹,所以似乎没有办法弄明白我何时会得到正确的值.
import javafx.application.*;
import javafx.scene.*;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.stage.*;
public class TestBounds extends Application {
public static void main(String[] args) {
launch(args);
}
public void start(Stage stage) {
Pane root = new Pane();
Group g = new Group();
root.getChildren().add(g);
Scene scene = new Scene(root, 500, 500);
stage.setScene(scene);
stage.show();
Platform.runLater(() -> {
// Text text = new Text("test label");
// ToolBar text = new ToolBar(new Button("test label"));
Label text = new Label("test label");
g.getChildren().add(text);
System.out.println(text.getBoundsInParent());
System.out.println(text.getBoundsInLocal());
System.out.println(text.getLayoutBounds()); …Run Code Online (Sandbox Code Playgroud) JavaFX中有什么方法可以获取我在画布上在屏幕上绘制的路径的x,y坐标吗?
我有一个应用程序,可以在画布上绘制一些圆圈,然后将圆圈与线条连接起来。
之后,我可以通过拖动节点来更改圆圈的位置,并且程序始终重新绘制画布上圆圈之间的线条
但现在我想在这些圆圈之间绘制一条四边形曲线。
public void drawQuadCurveOnCanvas(double startX, double startY, double endX, double endY, double controlX, double controlY) {
// Set line width
lineDraw.setLineWidth(Constants.LINE_THICKNESS);
// Set the Color
lineDraw.setStroke(Constants.DRAG_COLOR);
// Start the Path
lineDraw.beginPath();
lineDraw.moveTo(startX, startY);
lineDraw.quadraticCurveTo(controlX, controlY, endX, endY);
// Draw the Path
lineDraw.stroke();
}
Run Code Online (Sandbox Code Playgroud)
我绘制四边形曲线,其中一个圆作为控制点,另外两个圆作为起点和终点坐标。
所以我想沿着我刚刚绘制的四边形曲线获取x,y坐标,这样我就可以在这些坐标上创建一些圆,之后当我将这些圆与线连接时我得到相同的四边形曲线。
我不知道我是否解释得很好,有人知道如何实现我想要的吗?