Sunday 15 July 2012

java - JCalendar and PropertyChangeListener: event is not fired for current day -



java - JCalendar and PropertyChangeListener: event is not fired for current day -

i'm using jcalendar , have setup listener using propertychangelistener. problem listener not respond event on current day, assume because there no alter in property. want able respond selecting today's date, calendar leads diary. when opened still want calendar open on "today's" date, have listener respond pressing "today's" date. code listener below:

final jcalendar calendar = new jcalendar(); calendar.getdaychooser().addpropertychangelistener("day", new propertychangelistener() { @override public void propertychange(propertychangeevent e) { if(calendar.addjob!=1){ joptionpane.showmessagedialog(null,"no entry found"); frame.dispose(); string date = editdate(calendar.getdate().tostring()); workdiary.workdiarygui(date); } if(calendar.addjob==1){ string date = editdate(calendar.getdate().tostring()); calendar.addjob=0; frame.dispose(); workdiaryaddjob.workdiaryaddjobgui(calreg, date); } } });

my problem listener not respond event on current day, assume because there no alter in property.

your assumption correct: day chooser doesn't fire day property alter if press button selected day (i.e. today). , makes sense because property doesn't change, actually.

i want able respond selecting today's date, calendar leads diary.

to modify aforementioned behavior can utilize setalwaysfiredayproperty(boolean alwaysfire) method forcefulness day chooser fire property alter event:

jcalendar calendar = new jcalendar(); jdaychooser daychooser = calendar.getdaychooser(); daychooser.setalwaysfiredayproperty(true); // here key daychooser.addpropertychangelistener("day", ...);

note: explained in this answer.

java swing jcalendar jdatechooser

No comments:

Post a Comment