如何設置場景的背景圖像?JavaFX如何設置場景背景圖像
26
A
回答
27
的方法之一可以是這樣的:
1)創建具有名稱 「的style.css」 CSS文件,並定義在它的id選擇:
#pane{ -fx-background-image: url("background_image.jpg"); -fx-background-repeat: stretch; -fx-background-size: 900 506; -fx-background-position: center center; -fx-effect: dropshadow(three-pass-box, black, 30, 0.5, 0, 0); }
2 )使用CSS中定義的值設置場景中最頂級控件(或任何控件)的id,並將此CSS文件加載到場景中:
public class Test extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
StackPane root = new StackPane();
root.setId("pane");
Scene scene = new Scene(root, 300, 250);
scene.getStylesheets().addAll(this.getClass().getResource("style.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.show();
}
}
你也可以給一個ID在FXML文件中的控制:
<StackPane id="pane" prefHeight="200" prefWidth="320" xmlns:fx="http://javafx.com/fxml" fx:controller="demo.Sample">
<children>
</children>
</StackPane>
有關JavaFX的CSS樣式參照本guide更多信息。
10
您可以使用.root
類現場直接改變風格:
.root {
-fx-background-image: url("https://www.google.com/images/srpr/logo3w.png");
}
一下添加到CSS並加載它作爲「Uluk BIY」,在他的回答中描述。
19
我知道這是一個老問題
,但如果你想以編程方式做到這一點或Java的方式
圖像背景;您可以使用BackgroundImage類
BackgroundImage myBI= new BackgroundImage(new Image("my url",32,32,false,true),
BackgroundRepeat.REPEAT, BackgroundRepeat.NO_REPEAT, BackgroundPosition.DEFAULT,
BackgroundSize.DEFAULT);
//then you set to your node
myContainer.setBackground(new Background(myBI));
對於油漆或填充背景;你可以使用BackgroundFill類
BackgroundFill myBF = new BackgroundFill(Color.BLUEVIOLET, new CornerRadii(1),
new Insets(0.0,0.0,0.0,0.0));// or null for the padding
//then you set to your node or container or layout
myContainer.setBackground(new Background(myBF));
保持你的java活着& &你的CSS死..
相關問題
- 1. JavaFX顯示器場景背景圖像
- 2. 如何在另一個背景圖像背後設置背景?
- 3. JavaFX中的背景圖像
- 4. JavaFX背景圖像縮放
- 5. 設置JWindow背景圖像
- 6. 設置背景圖像alertdialog
- 7. angularjs設置背景圖像
- 8. 設置UIScrollView背景圖像
- 9. UITableViewCell背景圖像設置
- 10. 如何設置背景圖像響應
- 11. 如何設置窗體背景圖像
- 12. 如何設置圖像背景重複?
- 13. 如何設置大背景圖像
- 14. 如何爲linearlyout設置圖像背景?
- 15. 如何用Monotouch.Dialog設置背景圖像
- 16. 如何設置ImageButton的背景圖像?
- 17. 如何設置圖像RelativeLayout背景
- 18. 如何設置背景圖像視
- 19. 如何設置背景圖像標記
- 20. 刪除圖像背景/場景
- 21. 設置背景圖像後設置背景顏色
- 22. 設置背景顏色和設置圖像在ImageButton背景 - Android
- 23. 如何將圖像設置爲背景,而沒有背景圖像屬性?
- 24. 設置背景圖像,如果
- 25. 設置背景或背景圖片
- 26. 如何獲得像在JavaFx場景中放置場景的功能3d
- 27. 設置多個節點的javafx場景
- 28. FLEX:如何在Flare3d中設置場景的背景顏色?
- 29. 如何在OpenGL(GLUT)場景中創建靜態背景圖像?
- 30. JavaFx以編程方式設置外部背景圖像
我張貼另一個問題前面請在這裏幫助http://stackoverflow.com/questions/9736393/javafx-2鏈接-not-resizing-ui-control-based-on-window-size – John 2012-03-16 17:30:04
可以從另一個函數改變場景背景,除了void start – Ossama 2014-03-22 02:56:36
@Ossama是的,你可以。定義兩個不同的CSS選擇器(具有兩個不同的背景特徵),並在某些方法中用所需的方法更改節點的ID。 – 2014-03-22 03:51:42