5

我有一个 ListCell,在其中显示 ProgressIndicator 下载文件的进度信息。

我的问题是删除指标下方显示的百分比信息。如此处所述,我在我的 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并导致updateItemon ListCell,它再次变得可见。

我尝试了一种解决方法:

    Text text = (Text)indicator.lookup(".percentage");
    if ( text != null )
    {
        text.setText("");
    }

text有时为空,有时不是

4

1 回答 1

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;
}

PS 我没有在列表视图中测试进度指示器。

于 2013-02-05T14:53:05.733 回答