문제

I'm using the toedter's jCalendar and triggering events when the day buttons are clicked using the following code:

  JDayChooser jdc = jCalendar.getDayChooser();
  jdc.addPropertyChangeListener("day", new PropertyChangeListener() {
       @Override
       public void propertyChange(PropertyChangeEvent e) {
           date = jCalendar.getDate();
           new AgendaFrame(date, user).setVisible(true);  
       } 
  }); 

The thing is that when jCalendar initiates, the button which matches the current date is already pressed and so, I'm unable to press it to go to my agenda frame. Any ideas to solve this?

도움이 되었습니까?

해결책

The thing is that when jCalendar initiates, the button which matches the current date is already pressed and so, I'm unable to press it to go to my agenda frame. Any ideas to solve this?

To solve this problem you have to use setAlwaysFireDayProperty(boolean alwaysFire) method to set this property true:

JCalendar calendar = new JCalendar();        
JDayChooser dayChooser = calendar.getDayChooser();
dayChooser.setAlwaysFireDayProperty(true); // here is the key
dayChooser.addPropertyChangeListener("day", ...);

This way if you press some button (for instance, today) the property event will be fired regardless the button was already pressed.

public void setAlwaysFireDayProperty(boolean alwaysFire)

this is needed for JDateChooser.

Parameters:

alwaysFire - true, if day property shall be fired every time a day is chosen.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top