JavaFX Slider滴答无法正确显示

时间:2018-03-27 11:35:53

标签: java javafx slider

我想做什么: 有一个滑块,从0到10,它只移动一个完整的刻度(1),并显示刻度线上方的刻度值。

会发生什么: 它显示了0-10之间的所有值,除了9,这是神秘的缺失..

我想在这里上传图片,但我似乎缺乏声誉;)

https://pasteboard.co/HdPtzVp.png

代码: 主类:

import javafx.application.Application;
import static javafx.application.Application.launch;
import javafx.geometry.Rectangle2D;
import javafx.scene.Scene;
import javafx.scene.layout.HBox;
import javafx.stage.Screen;
import javafx.stage.Stage;

public class StartGui extends Application
{

    @Override
    public void start(Stage stage)
    {

        HBox box = new HBox();
        PionnenSlider slider = new PionnenSlider();
        box.getChildren().add(slider);
        Scene scene = new Scene(box, 500, 300);
        stage.setScene(scene);
        stage.setTitle("SliderMinimalCode");
        Rectangle2D primaryScreenBounds = Screen.getPrimary().getVisualBounds();
        stage.show();
    }

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

}

滑块类:

import javafx.scene.control.Slider;

public class PionnenSlider extends Slider
{

    public PionnenSlider()
    {
        setMinorTickCount(0);
        setBlockIncrement(1);
        setMajorTickUnit(1);  

        setValue(0);
        setMax(10);
        setShowTickMarks(true);
        setShowTickLabels(true);
        setSnapToTicks(true);

    }
}

1 个答案:

答案 0 :(得分:0)

显然这是由于滑块空间不足,找到了一个解决方法,用HBox.setHgrow(sliderPionnen,Priority.ALWAYS)自动调整大小;虽然只是增长它以填充整个HBOX ..所以我猜我必须为此找到解决方法