- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题描述
我有一个包含多个项目(复选框)的 CheckListView。我更改了选择模式(下面的代码)以允许多项选择。但是,当我选择多行(如下图所示)并按空格键时,只有“当前选定行”会更改状态。
我想要/需要:当我按空格键时,切换所有选定的行状态。
我尝试研究处理程序,但我对要更改的内容感到困惑。
非常感谢任何帮助。
@FXML
private CheckListView<String> checkListPermissoes;
@Override
public void initialize(URL url, ResourceBundle rb) {
... checkListPermissoes.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
最佳答案
这里有一个简单的解决方法,只需向列表注册一个 keyListener,然后当您按 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>
关于JavaFX - CheckListView 的 SelectionModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57966065/
我的应用程序中有controlsfx CheckListView。我正在显示我的自定义对象(例如:员工)。我已经创建了一个员工对象列表并将其包装在一个可观察的列表中。现在我将可观察列表设置为我的 Ch
问题描述 我有一个包含多个项目(复选框)的 CheckListView。我更改了选择模式(下面的代码)以允许多项选择。但是,当我选择多行(如下图所示)并按空格键时,只有“当前选定行”会更改状态。 我想
我有一个 JavaFx 项目,并且正在使用控件 CheckListView 有没有办法对此进行编码,以便控件允许用户仅从checklistview中选择一个选项 最佳答案 你可以这样做: ch
我尝试使用 Controls FX和 Check List View组件,但我有几个关于如何使用它的问题: 默认情况下,当我在 CheckListView 中添加项目时,单元格未被选中,如何才能使其默
我是一名优秀的程序员,十分优秀!