切換按鈕具有兩種狀態:選擇或未選擇。
我們通常將兩個或多個切換按鈕組合成一個組,並允許使用者只選擇一個按鈕或不選擇。
我們可以使用ToggleButton
類的三個建構函式建立一個切換按鈕。要建立沒有任何字幕或圖示的切換按鈕。
ToggleButton tb = new ToggleButton();
要建立帶有文字說明的切換按鈕
ToggleButton tb = new ToggleButton("Press me");
要建立帶有文字說明和圖示的切換按鈕。
Image image = new Image(getClass().getResourceAsStream("icon.png"));
ToggleButton tb = new ToggleButton ("Press me", new ImageView(image));
setText()
方法可以將文字設定為ToggleButton
,以及setGraphic()
方法可以將影象安裝到ToggleButton
。
切換組不強制選擇至少一個按鈕。單擊所選的切換按鈕可取消選擇切換按鈕。
ToggleGroup group = new ToggleGroup();
ToggleButton tb1 = new ToggleButton("High");
tb1.setToggleGroup(group);
tb1.setSelected(true);
ToggleButton tb2 = new ToggleButton("Medium");
tb2.setToggleGroup(group);
ToggleButton tb3 = new ToggleButton("Low");
tb3.setToggleGroup(group);
setUserData()
方法將使用者值與切換按鈕相關聯。ChangeListener
物件檢查組中選定的切換。如果沒有選擇任何開關按鈕,則輸出預設值。
如果選擇其中一個切換按鈕,getSelectedToggle
和getUserData
方法返回使用者定義的值。
tb1.setUserData("High");
tb2.setUserData("Medium");
tb3.setUserData("Low");
ToggleGroup group = new ToggleGroup();
group.selectedToggleProperty().addListener
(ObservableValue<? extends Toggle> ov, Toggle toggle, Toggle new_toggle) -> {
if (new_toggle == null)
System.out.println("default value");
else
System.out.println(group.getSelectedToggle().getUserData());
});
可以將CSS樣式應用於切換按鈕。
首先,在myStyle.css
檔案中宣告切換按鈕的樣式。
.toggle-button1{
-fx-font: 30 arial;
-fx-base: green;
}
.toggle-button2{
-fx-font: 25 arial;
-fx-base: blue;
}
.toggle-button3{
-fx-font: 30 arial;
-fx-base: red;
}
其次,在應用程式中安裝樣式。
scene.getStylesheets().add("myStyle.css");
tb1.getStyleClass().add("toggle-button1");
tb2.getStyleClass().add("toggle-button2");
tb3.getStyleClass().add("toggle-button3");