gpt4 book ai didi

java - 从javafx中的数据模型动态填充ListView

转载 作者:行者123 更新时间:2023-12-02 11:18:37 26 4
gpt4 key购买 nike

我创建了一种用符合正确条件的对象填充 ListView 的方法:

public void setCourseModules(Collection<Module> modules) {

t1UnSel.getItems().clear();
t2UnSel.getItems().clear();
t1Sel.getItems().clear();
t2Sel.getItems().clear();
yrSel.getItems().clear();

modules.forEach(m -> {
if (m.getRunPlan().equals(Delivery.TERM_1)) {
if (m.isMandatory()) {
t1Sel.getItems().add(m);
} else {
t1UnSel.getItems().add(m);
}
} else if (m.getRunPlan().equals(Delivery.TERM_2)) {
if (m.isMandatory()) {
t2Sel.getItems().add(m);
} else {
t2UnSel.getItems().add(m);
}
} else {
yrSel.getItems().add(m);
}
});
}

并用以下方式调用它:

smp.setCourseModules(course[0].getModulesOnCourse());

但是,这只是从数组中获取第一门类(class)的硬编码条目,我需要能够根据组合框选择动态更改该索引,努力思考如何获取类(class)名称的索引一个没有硬编码的 int...

附件是要点,Student Setup类和Controller是最重要的,包含comboBox和Controller的Student类有类(class)数据声明。

最佳答案

只是为了扩展M. le Rutte的回答

你可以使用

myComboBox.getSelectionModel().selectedItemProperty().addListener(new ChangeListener() {
@Override
public void changed(ObservableValue observable, Object oldValue, Object newValue) {
//do something with selected item
}
});

myComboBox.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
//do something with selected index
}
});

关于java - 从javafx中的数据模型动态填充ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50084309/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com