css
樣式表使用
javafx中的css樣式,與html的有些不一樣,javafx中的css,是以-fx-background-color
這種樣子的,具體可以參考文檔JavaFx css官方文檔
簡單來說,普通的javafx,以
javafx中,css樣式有兩種使用方法
- 直接在fxml中使用
- fxml引用css文件
fxml直接使用樣式
在某個控件中使用style屬性即可
<Text layoutX="235.0" layoutY="173.0" style="-fx-background-color: black">hello</Text>
直接在scenebuilder中也可以定義
fxml引用css
在根布局的標簽中使用stylesheets屬性,記得有個@
符號
stylesheets="@button.css"
選擇器
css中的選擇器,學過css都不陌生,有id選擇器,標簽選擇器,類選擇器和層級選擇器
不過,javafx中的css,有些不一樣,下面給幾個例子
- id選擇器
上圖中定義id,之后在css中就可以使用
#menu{
-fx-background-color: #bfdbff;
}
- 標簽選擇器
button{
-fx-background-color: #bfdbff;
}
- 類選擇器
需要定義上圖中的style class,名字隨意,不過,css中寫的的時候與其保持一致
.mybutton{
-fx-background-color: #bfdbff;
}
- 層級選擇器
上面的三種可能還不能滿足要求,所以,還有個層級選擇器
/*把id為menu下面的button全部背景設置為#bfdbff*/
#menu button{
-fx-background-color: #bfdbff;
}
PS:需要注意的一點是,如果是駝峰命名法,則需要加-
,
例如:
/*VBox為類名,所以得寫成v-box*/
/*JFXButton為類名,所以得寫成jfx-button*/
/*按照此規則*/
v-box{
}
Button的使用
以下出現的屬性,可以使用代碼進行動態設置
Button懸浮效果實現
css文件中,引用id前面得加#
,引用標簽,則加.
我們可以使用css的偽標簽來實現
默認為綠色,鼠標滑動到按鈕,按鈕會變為藍色。點擊按鈕,按鈕會變為白色,效果如下
.button{
-fx-background-color: green;
}
.button:hover{
-fx-background-color: blue;
}
.button:focused{
-fx-background-color: white;
}
button 圖片加文字
一直以為只能通過代碼的方式,往按鈕中添加圖片。其實,通過fxml也可以直接往按鈕中放入一個ImageView,設置圖片的路徑,就可以預覽界面了。
但是,如果想改圖片的位置,怎么修改呢?有一個屬性,名為content display,通過此可以改變圖片顯示的位置
button 豎排按鈕實現
如果想要實現豎排按鈕,得先修改按鈕的寬度(固定一個較小數值),高度就不修改了,就是隨內容變化大小,之后把wrap text屬性勾選上,這樣,就會自動換行
效果如下:
設置居中:
PS:如果想要只顯示一個字母,可以調整button的寬度(width)和圖片的大小