JavaFX 切換按鈕

2018-03-04 15:29 更新

JavaFX教程 - JavaFX 切換按鈕


切換按鈕具有兩種狀態(tài):選擇或未選擇。

我們通常將兩個或多個切換按鈕組合成一個組,并允許用戶只選擇一個按鈕或不選擇。

創(chuàng)建切換按鈕

我們可以使用ToggleButton類的三個構(gòu)造函數(shù)創(chuàng)建一個切換按鈕。

要創(chuàng)建沒有任何字幕或圖標(biāo)的切換按鈕

ToggleButton tb = new ToggleButton();

要創(chuàng)建帶有文字說明的切換按鈕

ToggleButton tb = new ToggleButton("Press me");

要創(chuàng)建帶有文字說明和圖標(biāo)的切換按鈕

Image image = new Image(getClass().getResourceAsStream("icon.png"));
ToggleButton tb = new ToggleButton ("Press me", new ImageView(image));

setText方法可以將文本設(shè)置為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方法將用戶值與切換按鈕相關(guān)聯(lián)。

ChangeListener對象檢查組中所選的切換。如果沒有選擇任何開關(guān)按鈕,則輸出默認(rèn)值。

如果選擇其中一個切換按鈕,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樣式應(yīng)用于切換按鈕。

首先,我們在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;   
}

其次,我們在應(yīng)用程序中安裝樣式。

scene.getStylesheets().add("myStyle.css");

tb1.getStyleClass().add("toggle-button1");
tb2.getStyleClass().add("toggle-button2");
tb3.getStyleClass().add("toggle-button3");
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號