我一直在尝试删除ProgressIndicator下面的百分比文本,但是不成功。我已经找到了几个这样的提及并尝试了接受的答案,但它不起作用
使用Java 8 Update 121
package com.company.mytest;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.ProgressIndicator;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class ProgressApp extends Application {
public static void main(String[] args) {
launch(args);
}
/* (non-Javadoc)
* @see javafx.application.Application#start(javafx.stage.Stage)
*/
@Override
public void start(Stage stage) throws Exception {
ProgressIndicator progress = new ProgressIndicator();
progress.setProgress(0.5f);
StackPane root = new StackPane();
root.getChildren().add(progress);
Scene scene = new Scene(root);
scene.getStylesheets()
.add(getClass().getResource("progress.css").toExternalForm());
stage.setScene(scene);
stage.setWidth(300);
stage.setHeight(300);
stage.setTitle("JavaFX 8 app");
stage.show();
}
}
我知道CSS已加载,因为我可以更改字体百分比大小。这是progress.css文件的CSS内容。
.progress-indicator .percentage {
visibility: hidden;
}
答案 0 :(得分:2)
将-fx-fill
属性设置为null
似乎可以解决问题:
.progress-indicator .percentage {
-fx-fill:null;
}
<强>更新强>
仅设置此属性会隐藏文本百分比,但仍会占用空间。
可能的解决方法是设置-fx-padding
的<{1}}属性:
ProgressIndicator
唯一的问题是硬编码值:如果.progress-indicator .percentage {
-fx-fill:null;
}
.progress-indicator {
-fx-padding: 0 0 -16 0;
}
的CSS被更改(例如更大的字体大小),那么这也必须进行调整。
此答案中的程序化解决方案:How can I avoid the display of percentage values, when using the ProgressIndicator of JavaFX UI Controls