Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.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:去掉滑块边距_Java_Css_User Interface_Javafx_Slider - Fatal编程技术网

Javafx:去掉滑块边距

Javafx:去掉滑块边距,java,css,user-interface,javafx,slider,Java,Css,User Interface,Javafx,Slider,我有一个“slider progress bar hybrid”,如中所述(带有值绑定的进度条顶部的不可见滑块),我的问题是滑块的左右两侧都有一个小边距,因此当滑块拇指靠近滑块末端时,进度条会关闭几个像素。我尝试将滑块和轨迹上的-fx背景插入,-fx背景半径和-fx填充设置为零,以及滑块#setPadding(),都没有用 如何消除滑块轨迹两侧的间隙 以下是我目前的代码: StackPane seekSliderStack = new StackPane(); ProgressBar seek

我有一个“slider progress bar hybrid”,如中所述(带有值绑定的进度条顶部的不可见滑块),我的问题是滑块的左右两侧都有一个小边距,因此当滑块拇指靠近滑块末端时,进度条会关闭几个像素。我尝试将滑块和轨迹上的
-fx背景插入
-fx背景半径
-fx填充
设置为零,以及
滑块#setPadding()
,都没有用

如何消除滑块轨迹两侧的间隙

以下是我目前的代码:

StackPane seekSliderStack = new StackPane();

ProgressBar seekProgressBar = new ProgressBar();
seekProgressBar.setMaxWidth(Double.MAX_VALUE);

Slider seekSlider = new Slider();
seekSlider.setMaxWidth(Double.MAX_VALUE);
seekSlider.valueProperty().addListener(new ChangeListener<Number>() {
    public void changed(ObservableValue<? extends Number> ov,
            Number oldValue, Number newValue) {
    seekProgressBar.setProgress(newValue.doubleValue() / 100);
    }
});
seekSlider.setValue(30);

//seekSlider.setPadding(Insets.EMPTY); // doesn't change anything

seekSliderStack.getChildren().addAll(seekProgressBar, seekSlider);
最后是一个显示间隙的小图像(白色条是滑块轨迹,红色轮廓属于滑块,蓝色部分是绿色进度条轨迹上的进度条,将滑块高度更改为进度条的一半,并使滑块轨迹可见以供演示):


哇,在发布问题几分钟后就找到了问题的解决方案:

将滑块拇指上的
-fx pref width
设置为零会使这些间隙消失,这对我很有用,因为我还是隐藏了拇指

我想,谈论(或者在本例中是写作)一个问题会让解决问题变得更容易,这是真的

.slider {
    -fx-background-insets: 0; 
    -fx-background-radius: 0;
    -fx-padding: 0;
    -fx-border-insets: 0;
}

.slider .thumb {
    -fx-background-color: null;
}

.slider .track {
    -fx-background-color: null;
    -fx-pref-height: 20px;
    -fx-background-insets: 0; 
    -fx-background-radius: 0;
    -fx-padding: 0;
    -fx-border-insets: 0;
}

.progress-bar {
    -fx-background-color: null;
    -fx-background-insets: 0; 
    -fx-background-radius: 0;
}

.progress-bar .track{
    -fx-background-color: null;
    -fx-background-insets: 0;
    -fx-background-radius: 0;
}

.progress-bar .bar { 
    -fx-background-color: blue;
    -fx-background-insets: 0; 
    -fx-background-radius: 0;
}