繁体   English   中英

表格单元格中的JavaFX颜色选择器自定义颜色

[英]JavaFX Color Picker Custom Color In Table Cell

我目前正在使用JavaFX ColorPicker在我的应用程序中选择颜色。 TableView之外的工作按预期工作,但我遇到了TableView包含的问题。

我目前正在使用Michael Simons网站上的解决方案TableCell实现自定义控件。 它工作正常......直到你打开拾色器的Custom Color对话框。 此时,与自定义颜色对话框的任何交互都会关闭并提交编辑,这意味着您无法作为示例在RGB代码中键入特定颜色用法。

在此对话框中提交自定义颜色值之前,如何保持此打开状态?

找到了解决方案; 希望它可以帮助其他人搜索:

原始解决方案使用更改侦听器提交已编辑的表格单元格:

this.colorPicker.valueProperty().addListener((observable, oldValue, newValue) -> {
    if(isEditing()) {
    commitEdit(newValue);
    }
});

但是,在拖动滑块或目标时, ColorPicker自定义颜色窗口会不断更新值。 因此,当您第一次单击时,侦听器将会触发,您最终会退出对话框。

将此更改为针对isHiding事件的事件侦听器可修复此问题。 选择预设颜色单击自定义颜色窗口中的[保存][使用]时, ColorPicker隐藏。 用这个替换上面的代码片段,你很高兴!

this.colorPicker.setOnHiding(event -> {
    if (isEditing()) {
        commitEdit(this.colorPicker.getValue());
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM