简体   繁体   English

如何将动作侦听器添加到议程中的约会(JFXtras议程)

[英]How can I add an action Listener onto an appointment in an agenda (JFXtras Agenda)

如何添加动作侦听器,以便在单击议程上的约会时,将打开一个新窗口,其中包含有关该特定单击约会的更多详细信息。

It seems like Agenda has not api for that. 议程似乎没有api。 You can see agenda's sources: AbstractAppointmentPane has mouse event logic. 您可以看到议程的来源: AbstractAppointmentPane具有鼠标事件逻辑。

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);
                 }
             }
         }
     }
 });

Then print appointments: 然后打印约会:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM