如何在JavaFX中获得狭窄的进度条?

时间:2014-02-12 21:39:00

标签: java css javafx javafx-2

正如标题所说,我需要制作一个很薄的进度条。我用过这个:

progressBar.setMaxHeight(0.1);
progressBar.setPrefHeight(0.1);

但这不起作用。有没有人有想法?

1 个答案:

答案 0 :(得分:4)

你必须弄乱造型才能让它变得更小。我真的建议看看Javafx附带的caspian.css - 这是默认的样式表。尝试覆盖默认外观的外观时,它会有很大帮助。这是我放在一起的一个例子,展示了如何做到这一点:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.ProgressBar;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;


public class ProgressBarTest extends Application {

    public static void main(String[] args) { launch(args); }

    @Override
    public void start(final Stage stage) throws Exception {
        //All the controls are added here
        VBox box = new VBox();
        box.getStylesheets().add("test.css");
        ProgressBar pb = new ProgressBar(50);

        box.getChildren().add(pb);

        //Setting up your scene
        Scene scene = new Scene(box);
        stage.setScene(scene);

        stage.show();
    }
}

这是我加载的test.css:

.progress-bar .bar {-fx-padding:1px; -fx-background-insets:0;}

以下是测试应用的输出:

small progress