尝试在 FXML 中使用 SVGPath 画一条线

Trying to draw a line with SVGPath in FXML

所以我正在尝试学习如何在 FXML 中使用 svg,我想做的第一件事就是画一条简单的线,然后再画出其他形状。从我在网上收集到的信息来看,我所要做的就是给它一个 moveTo 点,然后是一个 line 点。如果是这样,那我错过了什么?

<Button prefHeight="30" prefWidth="200" >
    <shape>
        <javafx.scene.shape.SVGPath content="M100,100 L150,150" /> 
    </shape>
</Button>

示例解决方案

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.paint.*?>
<?import javafx.scene.layout.*?>
<?import java.lang.*?>
<?import javafx.scene.shape.*?>

<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="86.0" prefWidth="99.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
   <children>
      <SVGPath content="M40,60 L20,20" layoutX="18.0" layoutY="2.0" stroke="BLACK" strokeWidth="3.0" />
   </children>
</Pane>

背景

您可以参考此 tutorial on svg paths 了解背景信息(注意 JavaFX 仅处理路径字符串而不是完整的 svg XML 文档)。