如何在JavaFX Scene Builder中编辑CubicCurve?

时间:2013-11-09 00:12:00

标签: java javafx-2 javafx scenebuilder

我正在尝试使用JavaFX Scene Builder 1.1。

我刚刚在画布上放置了一个CubicCurve,结果是:

Screen capture showing default CubicCurve in Java FX Scene Builder

我能够拖动节点和句柄,但我找不到任何关于如何添加/删除节点,创建其他句柄等的文档。我已经尝试右键单击并单击各种按住Shift,Ctrl或Alt的同时形状的一部分,但这似乎没有效果。

是否可以在Scene Builder中直观地操作CubicCurves,如果可以,怎么做?

此外,是否有任何Scene Builder文档?我似乎只能找到一些杂项视频和指南,但没有全面的。

1 个答案:

答案 0 :(得分:2)

<强>更新

SceneBuilder 2.0的最终版本放弃了在SceneBuilder 2.0预览中可用(但有点破碎)的三次曲线操作功能,并在此答案中进行了讨论。

此设施的相关问题跟踪器请求是:


  

我无法找到有关如何添加/删除节点,创建其他句柄的任何文档

我认为你实际上要做的是创建一个Path,在路径上的点之间有多条立方曲线。为此,您需要将CubicCurveTo个路径元素添加到路径中。你可以手工创建这样的fxml,SceneBuilder会显示它,但是SceneBuilder 1.1没有能力直观地创建路径。我刚刚尝试了SceneBuilder 2.0早期版本,它确实允许你直观地创建路径,但它似乎没有正常工作,所以我认为特定功能仍在进行中。

这个答案的其余部分与SceneBuilder 1.1中的普通CubicCurves有关(而不是CubicCurveTos)。

  

是否可以在Scene Builder中直观地操作CubicCurves?我能够拖动节点和手柄。

这就是你编辑曲线的方式。单击小方形手柄并拖动它们以修改曲线的开始/结束和控制点。单击曲线本身并将其拖动以移动整条曲线。检查器面板的“布局”部分还包含可以手动编辑数据的StartX,StartY,ControlX1,ControlY1等文本字段。

如果要添加更多控制点,可以添加新曲线(通过将其从形状库拖动到场景中),然后(这里是令人讨厌的位)手动排列曲线端点和控制点以平滑连接两个曲线终点。

这是一个示例,其中突出显示了两条不同曲线的控制点。

pic1 pic2

使用SceneBuilder的建议

SceneBuilder实际上不是一个绘图工具,它更像是一个组件装配和布局工具。它是一种工具,旨在与其他工具协同工作,而不是一个全面的设计和开发工具。它不会尝试成为编写代码的IDE,因为有许多优秀的Java IDE。也没有尝试成为矢量绘图工具,因为有许多好的工具。

如果您有很多要做的事情,IMO,您最好使用Inkscape等专用工具来创建原始矢量图形数据,然后使用其他工具将其转换为FXML(您可以直接加载到SceneBuilder或JavaFX应用程序中。

JavaFX 1.x过去提供了一个工具,您可以直接从Inkscape导出SVG数据,它将输出基于JavaFX 1.x FXD的场景定义。但遗憾的是JavaFX 2.x还没有这样的工具。

JavaFX的类似绘图转换工具是FXG to FXML converter,它采用Adobe Illustrator文件并生成可在SceneBuilder中使用的FXML文件。

如果您的输入数据是3D模型,那么InteractiveMesh提供3D model to FXML converters您可以用来将模型导入FXML(然后可以在SceneBuilder 2.0中使用)。

  

是否有适用于Scene Builder的文档?

如果您在SceneBuilder文档中找到更多反馈,请发送电子邮件至JavaFX文档小组:

jfx-docs-feedback_ww@oracle.com