How to get narrow progres bar in JavaFX?

css, java, javafx, javafx-2

Solution

You'll have to mess around with the styling to get it any smaller. I really recommend taking a look a the `caspian.css` that's included with Javafx - that's the default style sheet. It helps a lot when trying to override the look and feel of the default skins. Here's an example I put together that shows how it can be done:

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

And here's the test.css I loaded up:

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

And here is the output of the test app:

Problem

As the title says, I need to make a thin progress bar. I used this: ``` progressBar.setMaxHeight(0.1); progressBar.setPrefHeight(0.1); ``` but that doesn't work. Does anyone have an idea?

Original source

Related problems