B4J Question Change color of progress bar, how?

Discussion in 'B4J Questions' started by canalrun, Apr 30, 2015.

  1. canalrun

    canalrun Well-Known Member Licensed User

    Hello,
    I would like to change the color of the bar in the progress bar control in B4J.

    I found the following in a thread, but it does not seem to address the bar color.
    Code:
    progressbar.style="-fx-box-border: black; -fx-accent: red;"
    In the designer you can click on the Style drop-down, but I don't see anything that relates to the actual bar color.

    upload_2015-4-30_12-43-15.png

    Is there a way to set the color for the bar in the progress bar?

    More importantly, can someone point me to where I can find the documentation for the style settings and their effects on the various controls? I have attempted Googling this, but so far no success.

    Thanks,
    Barry.
     
  2. rwblinn

    rwblinn Well-Known Member Licensed User

    Hi,

    look up here.

    You can define own styleclasses, like below. One way to use:
    • Store these classes in files folder as f.e. main.css.
    • Open JavaFX SceneBuilder, add stylesheet main.css to the main achorpane, select the progressbar and assign a style class, like red-progress-bar.
    • Then re-run the B4J app
    Code:
    .my-progress-bar .bar {
            -fx-background-radius: 
    5;
    }
    .my-progress-bar .track {
        -fx-background-radius: 5;
    }
    .my-progress-bar {
        -fx-background-radius: 5;   
    }
    .red-progress-bar .bar {
            -fx-background-color: red;
    }
    .blue-progress-bar .bar {
            -fx-background-color: blue;
    }
    .green-progress-bar .bar {
            -fx-background-color: green;
    }
     
  3. canalrun

    canalrun Well-Known Member Licensed User

    Hello,

    Thanks for your response and thanks for the documentation link:
    http://docs.oracle.com/javafx/2/api/javafx/scene/doc-files/cssref.html#progressbar

    I tried -fx-progress-color

    Code:
    progressbar.style="-fx-progress-color: green;"
    As the documentation seems to indicate. However, it did not change the progress bar color.

    I also tried several of the other "-fx" options available in the designer. Nothing seem to make much of a difference.

    I would rather use an in-line style rather than styleclasses so that the jar file remains self-contained.

    Does this only work with styleclasses? Should my command have been different?

    Thanks,
    Barry.
     
  4. rwblinn

    rwblinn Well-Known Member Licensed User

    Then you can use a for example a JavaObject. Example:

    Code:
    'Set the color of progressbar
    'Parameter: ProgressBar, Color as string
    'Examples:
    'Private pbMain as ProgressBar
    'setProgressBarColor(pbMain, "red")
    'setProgressBarColor(pbMain, "green")
    Sub setProgressBarColor(pb As ProgressBar, color As String)
        
    Dim joPB As JavaObject = pb
        joPB.RunMethodJo(
    "lookup"Array(".bar")).RunMethod("setStyle"Array("-fx-background-color: " & color & ";"))
        
    'Call without parameter: joPB.RunMethodJo("lookup", Array(".bar")).RunMethod("setStyle", Array("-fx-background-color: red;"))
    End Sub
     
    canalrun and Erel like this.
  5. canalrun

    canalrun Well-Known Member Licensed User

    Hello,

    Works great. Thanks.

    Barry.
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice