提问人:Marco R. 提问时间:11/15/2023 更新时间:11/15/2023 访问量:41
有没有办法在 Scenebuilder/FXML 中从某个 JavaFX 类添加子类?[复制]
Is there a way to add Subclasses from a certain JavaFX Class in Scenebuilder/FXML? [duplicate]
问:
以下背景:对于我们的项目,我们需要使用 Java 和 JavaFX 实现著名的德国棋盘游戏“卡坦岛定居者”。该板由 19 个六角形瓷砖组成。为了避免对六边形的节点(城市点)和边(街道)进行一些复杂的计算,我想在场景构建器中将板创建为固定的 FXML。 对于六边形,我使用 JavaFX-Polygons。但问题是,我需要 Polygon 类中的更多信息(例如资源类型、节点、边)。
有没有办法创建一个子类(Tile extends Polygon)并在 Scenebuilder 或 FXML 中使用这个类?
我还尝试将多边形铸造为瓷砖,但也没有奏效。
如有必要,我可以稍后提供一些代码。
提前致谢!
我尝试在FXML的开头导入我的类。
<?import package.Tile?
但可悲的是,事情并没有那么简单。
答:
0赞
David Weber
11/15/2023
#1
看起来您要为 SceneBuilder 创建自定义组件。
步骤 1:创建自定义 vomponent 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 场景中。
评论
Node
Polygon