JavaFX 2 创建自定义面板

8
我看到过几篇关于自定义JavaFX控件的教程,但没有关于如何创建自定义面板布局的教程。我想知道如何创建一个流式的双侧(类似表格)带标题的布局面板。我之前在WPF中完成了这个控件,并正在将其“迁移到”JavaFX。除了OpenJDK源代码外,还有什么地方可以学习如何制作自定义布局面板?请注意,我需要的是如何创建自定义面板布局管理器而不是自定义控件。

2
也许你应该看看miglayout。它是一个在JavaFX中移植的著名Swing布局,你可以查看源代码来了解它们是如何实现的。http://www.miglayout.com/ - zenbeni
你是想创建一个布局面板(例如 Pane 子类)还是控件(例如 Control 子类)?为什么不直接使用 GridPane?你能否在问题中添加一个 WPF 渲染面板 的截图?你能否提供一个包含现有 WPF 代码的 gist 链接? - jewelsea
Pane子类。WPF代码屏幕截图(在第一张照片的右下角,带有“ZomB”,“Appearance”,“Misc”等标题)。我不能使用网格窗格,因为调整大小必须重新排列它。 - byteit101
3个回答

3
我本人不是很确定,但我认为您应该重写 Parent 类中的 layoutChildren 方法。每次 JavaFX 执行布局传递时都会调用此方法。
您可以使用 controlsfx 项目 代码作为样本。只需克隆它并在项目中搜索 layoutChildren 字符串。impl.org.controlsfx.spreadsheet.GridRowSkin.java 看起来是一个很好的示例。

是的,layoutChildren + layoutInArea 对我有用。我的解决方案的 JRuby 源代码:https://bitbucket.org/byteit101/sfx/src/f5f5199e/lib/utils/titled_form_pane.rb?at=default#cl-49 - byteit101

0

-2

你可以使用Scene Builder...这是专门为在JavaFX中制作各种自定义控件和设计而制作的。


1
不,那不是我在上面的评论中所问或澄清的内容。我正在制作一个布局管理器,而不是自定义控件。我已经找到了很多关于自定义控件和使用Scene Builder的教程,但没有关于布局管理器的。 - byteit101

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接