![](/img/trans.png)
[英]ScalaFX/JavaFX: How can I change the overrun style of a ComboBox?
[英]How to change the background of a ScrollPane (JavaFX/ScalaFX)?
我想更改ScrollPane的背景顏色。 這是我嘗試執行的代碼的一部分:
val sp=new javafx.scene.control.ScrollPane(new Group(new Text(...)))
sp.setPannable(true)
sp.setStyle("-fx-background-color: blue")
sp.setBackground(new Background(Array(new BackgroundFill(Color.DARKCYAN,new CornerRadii(0),Insets(0)))))
文本顯示為OK,但是使用以下方法更改背景顏色的兩種嘗試均無效:
Scala版本2.10.3(Java HotSpot™64位服務器VM,Java 1.8.0_05)。
使用Scenic View進行檢查,我發現兩個StackPanes意外出現在ScrollPane下面的場景圖中,因此層次結構為:
如果我將兩個StackPane-s的背景更改為"-fx-background-color: blue"
(帶有Scenic View ),則它具有效果,但沒有ScrollPane的樣式。 但是如何從代碼中做到這一點呢? 如果我做
println(sp.content())
, 它說
集團@ 567fa81a
有沒有簡單的方法來訪問StackPanes或更改背景? 我可以“拍打”一個大的填充矩形,但這看起來很丑,並且使調整大小變得復雜,適當的背景怎么了?
與JScrollPane
相似,JavaFX ScrollPane
在其內部具有一個稱為viewport
的StackPane
容器。 因此,使用以下CSS規則為ScrollPane
設置背景(即,設置紅色背景色):
.scroll-pane .viewport {
-fx-background-color: red;
}
sp.setStyle("-fx-background: blue")
代替:
sp.setStyle("-fx-background-color: blue")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.