为 MultipleSelectionModel 扩展 JFX ComboBox UI
Extending JFX ComboBox UI for MultipleSelectionModel
我想为 Open Java FX 8 实现一个 MultipleSelectionModel ComboBox,它将包括 ControlFX CheckComboBox 的所有功能(如 this post 中所示)以及其他补充功能这个问题的范围。
我的问题是,我已经阅读 JavaFX source 几个小时了,但我还没有找到使用哪种方法 1. ComboBox 创建要打印的元素列表(使用 ListView 和其他 JFX UI 元素)和 2. ComboBox 接收事件以显示列表并显示它。
你能帮我找到这些方法吗?
我已阅读以下内容类:
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。
我不明白第一个问题:"the ComboBox creates the list elements to print"。这是什么意思?
对于 2:ComboBoxBaseSkin
向 comboBox
的 showingProperty()
注册一个侦听器(这是在构造函数中完成的)。 handleControlPropertyChanged(...)
方法在 属性 更改时调用 show()
或 hide()
。这些是抽象方法,在subclassComboBoxPopupControl
中实现; show()
在 class 中的实现基本上只是在包含列表视图的 PopupControl
上调用 show(...)
。弹出窗口的内容(即列表视图)在 subclass ComboBoxListViewSkin
.
中创建
显示弹出窗口的实际触发器是通过调用 ComboBox
的 show()
方法来管理的,这会导致 isShowing
属性 设置为 true,触发上述侦听器。这是通过 ComboBoxBaseBehavior
方法完成的。
我想为 Open Java FX 8 实现一个 MultipleSelectionModel ComboBox,它将包括 ControlFX CheckComboBox 的所有功能(如 this post 中所示)以及其他补充功能这个问题的范围。
我的问题是,我已经阅读 JavaFX source 几个小时了,但我还没有找到使用哪种方法 1. ComboBox 创建要打印的元素列表(使用 ListView 和其他 JFX UI 元素)和 2. ComboBox 接收事件以显示列表并显示它。 你能帮我找到这些方法吗?
我已阅读以下内容类:
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。
我不明白第一个问题:"the ComboBox creates the list elements to print"。这是什么意思?
对于 2:ComboBoxBaseSkin
向 comboBox
的 showingProperty()
注册一个侦听器(这是在构造函数中完成的)。 handleControlPropertyChanged(...)
方法在 属性 更改时调用 show()
或 hide()
。这些是抽象方法,在subclassComboBoxPopupControl
中实现; show()
在 class 中的实现基本上只是在包含列表视图的 PopupControl
上调用 show(...)
。弹出窗口的内容(即列表视图)在 subclass ComboBoxListViewSkin
.
显示弹出窗口的实际触发器是通过调用 ComboBox
的 show()
方法来管理的,这会导致 isShowing
属性 设置为 true,触发上述侦听器。这是通过 ComboBoxBaseBehavior
方法完成的。