我有一个ListCell,其中我显示了ProgressIndicator下载文件的进度信息。
我的问题是删除指标下方显示的百分比信息。如上所述here,我在我的CSS中加入了一条规则如下:
.customProgressIndicator .percentage{
visibility: hidden;
-fx-text-background-color: red;
}
-fx-text-background-color: red
部分只是为了确保我们的css应用于节点。
问题是,我打了一个像indicator.setProgress(progress)
这样的电话,百分比变得可见(红色),当我将光标悬停在指示器上时,它再次变得不可见。最后,在“indicator.setProgress(1.0)
”电话会议结束时,“完成”文字会在底部显示,并在悬停后再次变为不可见。
可能与ListView
有关,因为;在悬停并使其变为不可见后,如果我从List
移除某个项目并导致updateItem
ListCell
,则会再次显示该项目。
我尝试了一种解决方法:
Text text = (Text)indicator.lookup(".percentage");
if ( text != null )
{
text.setText("");
}
但text
有时 null,有时不是。
答案 0 :(得分:10)
注意:
1)我读了您链接的帖子,OP隐含地确认visibility: hidden;
对他/她有效。但我测试了相同的代码,但它无法正常工作。可能是由于版本差异。我不知道。
2)-fx-text-background-color
不是CSS属性。它是caspian.css中的预定义颜色。因此,更改它会隐式更改百分比标签的颜色,在
.progress-indicator .percentage {
-fx-font-size: 0.916667em; /* 11pt - 1 less than the default font */
-fx-fill: -fx-text-background-color;
}
caspian.css的 (请注意上面的-fx-text-background-color
)
3)最后,你想要的效果可以通过
来完成.customProgressIndicator .percentage {
-fx-fill: null;
}
P.S。我还没有在列表视图中测试进度指示器。