Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JavaFX中设置ProgressBar组件的样式_Java_Css_Javafx 2 - Fatal编程技术网

如何在JavaFX中设置ProgressBar组件的样式

如何在JavaFX中设置ProgressBar组件的样式,java,css,javafx-2,Java,Css,Javafx 2,我正在尝试将自定义css样式添加到JavaFXProgressBar组件中,但找不到有关该主题的任何信息。我正在寻找css类名和css命令,它们是: 设置进度条本身的颜色 设置进度条的背景色(与设置背景色不同) 在进度条顶部添加自定义文本节点(以显示不同的状态) 我已将此答案标记为 如果您对最初的样式查询之外的JavaFX ProgressBar样式有想法,请编辑此帖子以添加您的样式想法(或链接到它们) 设置进度条本身的颜色 答复如下: 答案表明 动态设置进度条的样式,使进度条的颜色根据

我正在尝试将自定义css样式添加到JavaFXProgressBar组件中,但找不到有关该主题的任何信息。我正在寻找css类名和css命令,它们是:

  • 设置进度条本身的颜色
  • 设置进度条的背景色(与设置背景色不同)
  • 在进度条顶部添加自定义文本节点(以显示不同的状态)

    • 我已将此答案标记为

      如果您对最初的样式查询之外的JavaFX ProgressBar样式有想法,请编辑此帖子以添加您的样式想法(或链接到它们)

      设置进度条本身的颜色

      答复如下:

      答案表明

    • 动态设置进度条的样式,使进度条的颜色根据进度的大小而变化
    • 进度条的静态样式,它只是将进度条的颜色永久设置为定义的颜色
    • Windows PC上的JavaFX 7(caspian):

      Mac上的JavaFX 8(modena):

      有时人们喜欢理发店的杆子式渐变,比如:

      设置进度条的背景色(与设置背景色不同)

      为进度条的“轨迹”定义适当的css样式:

      在进度条顶部添加自定义文本节点(以显示不同的状态)

      答复如下:

      如何更改进度条的高度:

      答复如下:

      示例CSS:

      .progress-bar .bar { 
          -fx-padding: 1px; 
          -fx-background-insets: 0; 
      }
      
      JoséPereda在回答以下问题时,为窄进度条提供了一个很好的综合解决方案:

      我正在寻找css类名和css命令

      要查看的地方是默认的JavaFX样式表

      • 因为
      • 对于Java7
      caspian(Java 7)的ProgressBar样式定义如下:

      modena(Java 8)的进度条样式定义如下:

      包含有关在JavaFX中使用CSS的一般信息(与在HTML中使用CSS有所不同)。

      CSS文件:

      。绿色条{
      -外汇口音:#27BB9A;
      
      }
      感谢您回答这个问题!看起来你已经解决了问题的一部分,但问题还有两个组成部分。你能帮我吗?
      .progress-bar .bar { 
          -fx-padding: 1px; 
          -fx-background-insets: 0; 
      }
      
      .progress-bar {
          -fx-skin: "com.sun.javafx.scene.control.skin.ProgressBarSkin";
          -fx-background-color:
              -fx-box-border,
              linear-gradient(to bottom, derive(-fx-color,30%) 5%, derive(-fx-color,-17%));
          -fx-background-insets: 0, 1;
          -fx-indeterminate-bar-length: 60;
          -fx-indeterminate-bar-escape: true;
          -fx-indeterminate-bar-flip: true;
          -fx-indeterminate-bar-animation-time: 2;
      }
      
      .progress-bar .bar {
          -fx-background-color:
              -fx-box-border,
              linear-gradient(to bottom, derive(-fx-accent,95%), derive(-fx-accent,10%)),
              linear-gradient(to bottom, derive(-fx-accent,38%), -fx-accent);
          -fx-background-insets: 0, 1, 2;
          -fx-padding: 0.416667em; /* 5 */
      }
      
      .progress-bar:indeterminate .bar {
          -fx-background-color: linear-gradient(to left, transparent, -fx-accent);
      }
      
      .progress-bar .track {
           -fx-background-color:
              -fx-box-border,
              linear-gradient(to bottom, derive(-fx-color,-15%), derive(-fx-color,2.2%) 20%, derive(-fx-color,60%));
          -fx-background-insets:  0, 1;
      }
      
      .progress-bar:disabled {
          -fx-opacity: -fx-disabled-opacity;
      }
      
      .progress-bar {
          -fx-indeterminate-bar-length: 60;
          -fx-indeterminate-bar-escape: true;
          -fx-indeterminate-bar-flip: true;
          -fx-indeterminate-bar-animation-time: 2;
      }
      .progress-bar > .bar {
          -fx-background-color: linear-gradient(to bottom, derive(-fx-accent, -7%), derive(-fx-accent, 0%), derive(-fx-accent, -3%), derive(-fx-accent, -9%) );
          -fx-background-insets: 3 3 4 3;
          -fx-background-radius: 2;
          -fx-padding: 0.75em;
      }
      .progress-bar:indeterminate > .bar {
          -fx-background-color: linear-gradient(to left, transparent, -fx-accent);
      }
      .progress-bar > .track {
            -fx-background-color: 
                -fx-shadow-highlight-color,
                linear-gradient(to bottom, derive(-fx-text-box-border, -10%), -fx-text-box-border),
                linear-gradient(to bottom, 
                  derive(-fx-control-inner-background, -7%),
                  derive(-fx-control-inner-background, 0%),
                  derive(-fx-control-inner-background, -3%),
                  derive(-fx-control-inner-background, -9%)
                );
          -fx-background-insets: 0, 0 0 1 0, 1 1 2 1;
          -fx-background-radius: 4, 3, 2; /* 10, 9, 8 */
      }