将不透明度设置为 ScrollPane
Set opacity to ScrollPane
我有一个 GridPane,在 ScrollPane 中有按钮。当所需的按钮数量不足以填充 ScrollPane 的最大尺寸时,如下图所示。我需要将这个空白点设置为包含它的窗格的背景颜色。
我试图将网格的背景颜色设置为包含它的背景窗格的相同颜色,但它只是用按钮为线条着色。如果我尝试将 ScrollPane 的不透明度设置为 0,它也会设置按钮的不透明度,所以我看不到任何东西,即使我在那之后设置了按钮的不透明度。
我怎么能这样做??
.
.
.
GridPane grid = new GridPane();
int i=0;
for (int r = 0; r <= new Double(this.buttons.size()/BUTTONS_LINE).intValue(); r++) {
for (int c = 0; c < BUTTONS_LINE; c++) {
if(i < this.buttons.size()){
grid.add(this.buttons.get(i), c, r);
i++;
}else{
break;
}
}
}
ScrollPane spane = new ScrollPane(grid);
grid.getStyleClass().add("grid");
grid.setPrefWidth(0.2*Screen.getMainScreen().getWidth());
spane.getStyleClass().add("scrollPane");
/*spane.setOpacity(0);
grid.setOpacity(1);
for(int j=0; j<grid.getChildren().size();j++){
grid.getChildren().get(j).setOpacity(1);
}*///When I try this, buttons aren't visible neither
spane.setMaxSize(0.2*Screen.getMainScreen().getWidth(), 0.2*Screen.getMainScreen().getHeight() );
.
.
.
和 css:
.scrollPane{
-fx-background-color: #afafaf;
-fx-control-inner-background: #afafaf;
}
.grid{
-fx-background-color:#afafaf;
}
尝试强制窗格至少为滚动窗格视口的高度
grid.minHeightProperty().bind(Bindings.createDoubleBinding(() ->
spane.getViewportBounds().getHeight(), spane.viewportBoundsProperty());
发生这种情况是因为您看到的实际上是滚动窗格的 view-port
。您需要将背景颜色应用于视口。
.scrollPane > .viewport {
-fx-background-color: #afafaf;
}
我有一个 GridPane,在 ScrollPane 中有按钮。当所需的按钮数量不足以填充 ScrollPane 的最大尺寸时,如下图所示。我需要将这个空白点设置为包含它的窗格的背景颜色。
我试图将网格的背景颜色设置为包含它的背景窗格的相同颜色,但它只是用按钮为线条着色。如果我尝试将 ScrollPane 的不透明度设置为 0,它也会设置按钮的不透明度,所以我看不到任何东西,即使我在那之后设置了按钮的不透明度。
我怎么能这样做??
.
.
.
GridPane grid = new GridPane();
int i=0;
for (int r = 0; r <= new Double(this.buttons.size()/BUTTONS_LINE).intValue(); r++) {
for (int c = 0; c < BUTTONS_LINE; c++) {
if(i < this.buttons.size()){
grid.add(this.buttons.get(i), c, r);
i++;
}else{
break;
}
}
}
ScrollPane spane = new ScrollPane(grid);
grid.getStyleClass().add("grid");
grid.setPrefWidth(0.2*Screen.getMainScreen().getWidth());
spane.getStyleClass().add("scrollPane");
/*spane.setOpacity(0);
grid.setOpacity(1);
for(int j=0; j<grid.getChildren().size();j++){
grid.getChildren().get(j).setOpacity(1);
}*///When I try this, buttons aren't visible neither
spane.setMaxSize(0.2*Screen.getMainScreen().getWidth(), 0.2*Screen.getMainScreen().getHeight() );
.
.
.
和 css:
.scrollPane{
-fx-background-color: #afafaf;
-fx-control-inner-background: #afafaf;
}
.grid{
-fx-background-color:#afafaf;
}
尝试强制窗格至少为滚动窗格视口的高度
grid.minHeightProperty().bind(Bindings.createDoubleBinding(() ->
spane.getViewportBounds().getHeight(), spane.viewportBoundsProperty());
发生这种情况是因为您看到的实际上是滚动窗格的 view-port
。您需要将背景颜色应用于视口。
.scrollPane > .viewport {
-fx-background-color: #afafaf;
}