在 tornadofx 中创建自定义 UI 组件的最佳做法是什么?

What is the best practice for creating customized UI component in tornadofx?

我是 JavaFX 和 tornadofx 的新手,现在我需要创建一些高度自定义的 UI 组件(包括提交按钮、文本输入字段、密码输入字段、日期时间选择器、下拉选择器等),如下所示下图:

那么,创建这些组件的最佳做法是什么? 我的问题包括:

  1. 我的自定义 UI 组件应该扩展哪个超级 class 组件?
  2. tornadofx 中有现成的例子吗?
  3. 我可以使用 bootstrap 吗?如果是,我该如何使用 bootstrap?

谢谢 (这个问题也贴在这里:https://github.com/edvin/tornadofx/issues/498

确实没有任何 TornadoFX 特定于此过程,但我有两个建议:

除非确实需要,否则不要创建自定义控件。要向 Button 或 TextField 添加自定义功能,请改为安装自定义外观。

如果您确实需要自定义控件,请考虑扩展控件 class。对于更多以布局为中心的组件,您可以改为扩展布局,或者简单地扩展 Pane。

要了解有关自定义组件的更多信息,请考虑阅读这本精彩的书:

https://www.amazon.com/Mastering-JavaFX-Controls-Oracle-Press-ebook/dp/B00L3TF02K

另请观看这些视频:

https://www.youtube.com/watch?v=L9xtOhdSx6k

https://www.youtube.com/watch?v=7PPcM0E5yQw