【问题标题】:JavaFX Slider change width (thickness)JavaFX Slider 改变宽度(粗细)
【发布时间】:2016-07-12 08:16:31
【问题描述】:

我的问题是默认的Slider 太薄了。 有没有办法让Slider(宽度)变大?

感谢您的建议。

【问题讨论】:

    标签: java css javafx slider javafx-8


    【解决方案1】:

    在 JavaFX 中,大部分样式都可以通过 CSS 完成。

    您可以在 CSS 文件中使用 .slider .track.slider .thumb 样式类。在这种样式类中,您可以使用-fx-pref-width-fx-pref-height 属性:

    .slider .track {
        -fx-pref-height:20;
    }
    
    .slider:vertical .track {
        -fx-pref-width:20;
    }
    
    .slider .thumb {
        -fx-pref-height: 30;
        -fx-pref-width: 30;
    }
    

    或者您也可以使用-fx-padding 属性:

    .slider .track {
        -fx-padding: 10;
    }
    
    .slider .thumb {
        -fx-padding: 15;
    }
    

    这将产生像这样的水平和垂直Sliders:

    无论如何,你可以参考JavaFX 8 default stylesheet (modena.css)JavaFX CSS Reference Guide

    您还可以使用official tutorial 来了解如何使用 CSS 设置 JavaFX 样式。

    【讨论】:

      【解决方案2】:

      因为我花了很多时间研究一个类似的问题,这里是你如何摆脱轨道和它的“可点击性”:

      CSS:
      .slider .track {
          visibility: hidden;
      }
      
      // You'll probably want this in the code also to swallow all keyboard events:
      
      slider.addEventFilter(KeyEvent.ANY, new EventHandler<KeyEvent>() {
          @Override
          public void handle(KeyEvent event) {
              System.out.println("KeyEvent NO!");
              event.consume();
          }
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-13
        • 2013-07-13
        • 1970-01-01
        • 2014-11-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多