Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在单击约会窗格时获取约会详细信息-JFXtras_Java_Javafx_Jfxtras - Fatal编程技术网

Java 如何在单击约会窗格时获取约会详细信息-JFXtras

Java 如何在单击约会窗格时获取约会详细信息-JFXtras,java,javafx,jfxtras,Java,Javafx,Jfxtras,当用户单击从数据库检索到的特定约会时,我想打印约会的摘要和说明 我试图通过以下方式实现这一点: lAgenda.selectedAppointments().addListener(new ListChangeListener<Appointment>() { @Override public void onChanged(Change<? extends Appointment> c) {

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

我试图通过以下方式实现这一点:

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

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

您正在使用正确的属性来获得选择更改的通知

你收到了一封信。如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);
                 }
             }
         }
     }
 });
如果需要约会对象的某些特定属性(如数据库id),可以通过扩展或实现来创建约会类

 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);
                 }
             }
         }
     }
 });
private void printAppointment(Appointment a) {
    System.out(a.getSummary());
    System.out(a.getDescription());
}