gpt4 book ai didi

java - 单击 AppointmentPane 时如何获取预约详细信息 - JFXtras

转载 作者:太空宇宙 更新时间:2023-11-04 06:46:03 25 4
gpt4 key购买 nike

当用户单击从数据库检索到的特定约会时,我想打印出约会的摘要描述

我正在尝试用类似的方法来实现这个:

lAgenda.selectedAppointments().addListener(new ListChangeListener<Appointment>() {
@Override
public void onChanged(Change<? extends Appointment> c) {
System.out.println(c.toString());
}
});

但是,我只得到这个:

com.sun.javafx.collections.NonIterableChange$GenericAddRemoveChange@1ef0f08
com.sun.javafx.collections.NonIterableChange$SimpleAddChange@1c3e48b
com.sun.javafx.collections.NonIterableChange$GenericAddRemoveChange@d57e70
com.sun.javafx.collections.NonIterableChange$SimpleAddChange@6022e2
com.sun.javafx.collections.NonIterableChange$GenericAddRemoveChange@54ddc1

如何检索其他项目,例如从中检索约会的数据库行中的行 ID?谢谢大家。

最佳答案

您正在使用正确的属性来接收选择更改的通知。

您收到了ListChangeListener.Change 。如 javadoc 中所述,应按以下方式使用更改:

 lAgenda.selectedAppointments().addListener(new ListChangeListener< Appointment >() {
public void onChanged(Change<? extends Appointment> c) {
while (c.next()) {
if (c.wasPermutated()) {
for (int i = c.getFrom(); i < c.getTo(); ++i) {
//permutate
}
} else if (c.wasUpdated()) {
//update item
} else {
for (Appointment a : c.getRemoved()) {
}
for (Appointment a : c.getAddedSubList()) {
printAppointment(a);
}
}
}
}
});

现在,您可以打印出 appointment摘要和描述:

private void printAppointment(Appointment a) {
System.out(a.getSummary());
System.out(a.getDescription());
}

如果您需要约会对象的某些特定属性(例如数据库 ID),您可以通过扩展AppointmentImpl来创建您的约会类。或通过实现Appointment

关于java - 单击 AppointmentPane 时如何获取预约详细信息 - JFXtras,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23970420/

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