第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JavaFX - CheckListView 的 SelectionModel

JavaFX - CheckListView 的 SelectionModel

喵喵時光機 2023-08-04 18:59:08
問題描述我有一個包含多個項目(復(fù)選框)的 CheckListView。我更改了選擇模式(下面的代碼)以允許多項選擇。但是,當(dāng)我選擇多行(如下圖所示)并按空格鍵時,只有“當(dāng)前選定行”會更改狀態(tài)。我想要/需要:當(dāng)我按空格時,切換所有選定的行狀態(tài)。我嘗試調(diào)查處理程序,但我對要更改的內(nèi)容感到困惑。任何幫助是極大的贊賞。        @FXML        private CheckListView<String> checkListPermissoes;        @Override        public void initialize(URL url, ResourceBundle rb) {            ...  checkListPermissoes.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
查看完整描述

1 回答

?
RISEBY

TA貢獻1856條經(jīng)驗 獲得超5個贊

這是一個簡單的解決方法,只需將 keyListener 注冊到列表中,然后當(dāng)您按 Space 時處理 JavaFx 未處理的項目:


代碼:


public class Controller implements Initializable {

    @FXML private CheckListView<String> list;


    @Override

    public void initialize(URL location, ResourceBundle resources) {


        list.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);


        list.getItems().addAll("Apple", "Lemon", "Orange", "Banana");


        list.setOnKeyPressed(event -> {

            if (event.getCode().equals(KeyCode.SPACE)) {

                revertCheck(list.getSelectionModel().getSelectedIndices());

            }

        });


    }


    private void revertCheck(ObservableList<Integer> selectedIndices) {

        selectedIndices.forEach(index -> {

            // If needed to skip the selected index which is handled by JavaFx

            if (!index.equals(list.getSelectionModel().getSelectedIndex())) {

                if (list.getCheckModel().isChecked(index)) {

                    list.getCheckModel().clearCheck(index);

                } else {

                    list.getCheckModel().check(index);

                }

            }

        });

    }

}

.fxml :


<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.layout.AnchorPane?>

<?import org.controlsfx.control.CheckListView?>

<AnchorPane xmlns="http://javafx.com/javafx"

            xmlns:fx="http://javafx.com/fxml"

            fx:controller="checklist.Controller">

<CheckListView fx:id="list"/>

</AnchorPane>


查看完整回答
反對 回復(fù) 2023-08-04
  • 1 回答
  • 0 關(guān)注
  • 165 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號