我正在尝试将图片设置为拆分窗格的背景。所以我的目标是,无论我如何通过拖动它们之间的分隔来调整两个锚定窗格的大小,我都希望不会触及背景图片。
我尝试了几件事但没有成功。我尝试在场景构建器的分割窗格中添加一个css:
.root {
-fx-background-image: url("DSCF0806.JPG");
}
这不会起作用......使用简单的图像视图它也不会起作用,因为它使自己成为一个3.分裂的区域,我无法将它放在两个分割区域之下。
到目前为止,我还无法找到一种技术......你有什么想法吗?谢谢!
答案 0 :(得分:0)
.root
指的是Scene
的根。在外部CSS文件中尝试以下操作:
.split-pane {
-fx-background-image: url("DSCF0806.JPG");
}
例如:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.SplitPane;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class SplitPaneWithBackground extends Application {
@Override
public void start(Stage primaryStage) {
SplitPane splitPane = new SplitPane();
splitPane.getItems().addAll(new StackPane(new Label("Left")),
new StackPane(new Label("Right")));
BorderPane root = new BorderPane(splitPane);
Scene scene = new Scene(root, 600, 400);
scene.getStylesheets().add("split-pane-background.css");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
使用文件split-pane-background.css:
.split-pane {
/*
The image used below is copyright of Fedaro (Fernando da Rosa) y Santiago Roland
(http://commons.wikimedia.org/wiki/User:Fedaro) and is used under the terms of the
Creative Commons Attribution-Share Alike Unported 3.0 license.
(http://creativecommons.org/licenses/by-sa/3.0/deed.en).
*/
-fx-background-image: url("http://upload.wikimedia.org/wikipedia/commons/a/a7/Nebulosa_de_Eta_Carinae_o_NGC_3372.jpg");
-fx-background-size: cover ;
}
.label {
-fx-background-color: rgba(255, 255, 255, 0.5) ;
-fx-padding: 10 ;
}