JavaFX 復(fù)選框

2018-03-06 18:54 更新

JavaFX教程 - JavaFX復(fù)選框


復(fù)選框允許用戶進(jìn)行多項(xiàng)選擇。 例如,當(dāng)訂購(gòu)比薩餅時(shí)我們可以添加多個(gè)配料。 單選按鈕或切換按鈕用于單選或沒(méi)有選擇。

創(chuàng)建復(fù)選框

我們可以使用CheckBox中的構(gòu)造函數(shù)來(lái)創(chuàng)建CheckBox的對(duì)象。

創(chuàng)建不帶標(biāo)題的復(fù)選框

CheckBox checkBox = new CheckBox();

要?jiǎng)?chuàng)建帶有字符串標(biāo)題的復(fù)選框

CheckBox checkBox = new CheckBox("Second");

創(chuàng)建復(fù)選框后,我們可以更改其文本并將其選中。

checkBox.setText("First");
checkBox.setSelected(true);

復(fù)選框狀態(tài)

我們可以使用CheckBox來(lái)表示三個(gè)狀態(tài):

  • Yes
  • No
  • Not Applicable

“不適用"狀態(tài)是調(diào)用不確定。如果復(fù)選框不在不確定中,可以選擇或不選擇。選擇表示是,未選擇表示否。

我們可以選擇通過(guò)設(shè)置支持不確定CheckBox對(duì)象的allowIndeterminate屬性。

如果設(shè)置為true,則復(fù)選框應(yīng)該循環(huán)選擇所有三個(gè)狀態(tài):選中,取消選擇和未定義。

如果設(shè)置為false,復(fù)選框?qū)⒀h(huán)選擇和取消選擇的狀態(tài)。

例子

以下代碼顯示了如何向CheckBox添加工具提示。

import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.geometry.Insets;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.CheckBox;
import javafx.scene.control.Label;
import javafx.scene.control.Tooltip;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.scene.text.Font;
import javafx.stage.Stage;

public class Main extends Application {
    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage stage) {
        Scene scene = new Scene(new Group());
        stage.setTitle("Tooltip Sample");
        stage.setWidth(300);
        stage.setHeight(150);
        final CheckBox cb = new CheckBox("checkBox");
        final Tooltip tooltip = new Tooltip("$ tooltip");
        tooltip.setFont(new Font("Arial", 16));
        cb.setTooltip(tooltip);
        cb.selectedProperty().addListener(new ChangeListener<Boolean>() {
           public void changed(ObservableValue<? extends Boolean> ov,
             Boolean old_val, Boolean new_val) {
             System.out.println(cb.isSelected());
          }
        });

        ((Group) scene.getRoot()).getChildren().add(cb);

        stage.setScene(scene);
        stage.show();
    }
}

上面的代碼生成以下結(jié)果。

null
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)