尝试在FXML中使用SVGPath绘制一条线

时间:2015-04-21 22:00:15

标签: java svg javafx fxml

所以我正在尝试学习如何在FXML中使用svg,我想要做的第一件事就是绘制一条简单的线条,然后按照自己的方式处理其他形状。从我在网上收集的内容来看,我所要做的就是给它一个动作点,然后是一个线点。如果是这样,那么我错过了什么?

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

1 个答案:

答案 0 :(得分:1)

示例解决方案

svg path

<?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文档)。