标题说明了一切,我想。
如何将.jpg
(或任何其他支持的图像格式)图像设置为场景背景?
我有些通过使用HBox
,Image
和ImageView
实现了这一目标,如下所示:
String url = ...
HBox box= new HBox();
Image x = new Image(url);
ImageView iv = new ImageView(x);
box.getChildren().add(iv);
box.setVisible(true);
然后我首先将该框添加到场景中,然后将其他所有内容添加到场景中。
我没有抱怨这段代码 - 它适用于我的目的 - 但是有没有正确的方法来设置背景?
答案 0 :(得分:4)
只需在场景的根节点上调用setBackground
即可。例如:
Pane root = ... ; // probably some pane subclass...
String url = ... ;
Image img = new Image(url);
BackgroundImage bgImg = new BackgroundImage(img,
BackgroundRepeat.NO_REPEAT, BackgroundRepeat.NO_REPEAT,
BackgroundPosition.DEFAULT,
new BackgroundSize(BackgroundSize.AUTO, BackgroundSize.AUTO, false, false, true, false));
// put stuff in root as normal....
Scene scene = new Scene(root);
请参阅Javadocs了解BackgroundImage
构造函数的参数等。
答案 1 :(得分:4)
ImagePattern
可以用作Scene
的{{3}}:
ImagePattern pattern = new ImagePattern(myImage);
scene.setFill(pattern);