gpt4 book ai didi

java - 扩展 MultipleSelectionModel 的 JFX ComboBox UI

转载 作者:行者123 更新时间:2023-12-01 11:55:05 28 4
gpt4 key购买 nike

我想为 Open Java FX 8 实现 MultipleSelectionModel ComboBox,其中包括 ControlFX CheckComboBox 的所有功能(如 this post 中所示)以及超出此问题范围的其他补充功能。

我的问题是我一直在阅读 JavaFX source几个小时了,我还没有找到使用哪种方法 1. ComboBox 创建要打印的元素列表(使用 ListView 和其他 JFX UI 元素)和 2. ComboBox 接收事件以显示列表并显示它。你能帮我找到这些方法吗?

我已阅读以下类(class):

javafx.scene.control.ComboBox,
javafx.scene.control.ComboBoxBase,
com.sun.javafx.scene.control.skin.ComboBoxBaseSkin,
com.sun.javafx.scene.control.behavior.ComboBoxBaseBehavior,
javafx.scene.control.Cell

以及其他一些不相关的类,例如 MultipleSelectionModel。

我计划扩展 ComboBoxBase 来制作我的 MultipleComboBox。我还无法确定 ComboBoxBase 是否可以支持 MultipleSelectionModel。

最佳答案

源的标准位置是 here

我不明白第一个问题:“组合框创建要打印的列表元素”。这是什么意思?

对于 2:ComboBoxBaseSkin 使用 comboBoxshowingProperty() 注册一个监听器(这是在构造函数中完成的)。当属性更改时,handleControlPropertyChanged(...) 方法会调用 show()hide()。这些是抽象方法,在子类ComboBoxPopupControl中实现;该类中 show() 的实现基本上只是在保存 ListView 的 PopupControl 上调用 show(...) 。弹出窗口的内容(即 ListView )是在子类 ComboBoxListViewSkin 中创建的。

显示弹出窗口的实际触发器是通过调用 ComboBoxshow() 方法来管理的,这会导致 isShowing 属性设置为 true,触发上述监听器。这是通过 ComboBoxBaseBehavior 方法完成的。

关于java - 扩展 MultipleSelectionModel 的 JFX ComboBox UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28519696/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com