有没有办法在Scenebuilder/FXML中从某个JavaFX类添加子类?

问题描述 投票:0回答:1

以下背景:对于我们的项目,我们需要使用 Java 和 JavaFX 实现著名的德国棋盘游戏“Settlers of Catan”。棋盘由 19 块六角形棋子组成。为了避免对六边形的节点(城市点)和边缘(街道)进行一些复杂的计算,我想在 Scenebuilder 中将板创建为固定 FXML。 对于六边形,我使用 JavaFX-Polygons。但问题是,我需要多边形类中的更多信息(例如资源类型、节点、边)。

有没有办法创建子类(Tile 扩展 Polygon)并在 Scenebuilder 或 FXML 中使用此类?

我还尝试将多边形投射为瓷砖,但也没有成功。

如果有必要,我可以稍后提供一些代码。

提前致谢!

我尝试在 FXML 的开头导入我的类。

<?import package.Tile?

但遗憾的是事情没那么简单。

java javafx scenebuilder
1个回答
0
投票

看起来您想为 SceneBuilder 创建自定义组件。

第 1 步:创建自定义组件 https://docs.oracle.com/javafx/2/fxml_get_started/custom_control.htm

第2步:将自定义组件导入SceneBuilder https://www.google.com/amp/s/staticfinal.blog/2014/05/21/adding-custom-javafx-components-to-scene-builder-2-0/amp/

替代解决方案:

您可以使用纯 Java 创建自定义组件,并在控制器中以编程方式将其添加到 fxml 场景中。

© www.soinside.com 2019 - 2024. All rights reserved.