首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JCalendar和PropertyChangeListener:事件当前不触发

JCalendar和PropertyChangeListener:事件当前不触发
EN

Stack Overflow用户
提问于 2014-10-07 00:49:26
回答 2查看 1.7K关注 0票数 1

我正在使用JCalendar,并使用PropertyChangeListener设置了一个侦听器。我的问题是,此侦听器将不会响应当前的事件,因为属性中没有任何更改。我希望它能够回应选择今天的日期,因为日历导致日记。当我打开的时候,我仍然希望日历在“今天的”日期上打开,但是要有一个听众来响应按下“今天的”日期。侦听器的代码如下:

代码语言:javascript
复制
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);
        }
    }
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-15 11:42:39

我的问题是,此侦听器将不会响应当前的事件,因为属性中没有任何更改。

您的假设是正确的:如果您按下非常选定的一天(即今天)的按钮,则日期选择器不会触发日期属性更改。这是有意义的,因为实际上,财产并没有改变。

我希望它能够回应选择今天的日期,因为日历导致日记。

要修改上述行为,可以使用setAlwaysFireDayProperty(布尔型alwaysFire)方法强制日期选择器始终触发属性更改事件:

代码语言:javascript
复制
JCalendar calendar = new JCalendar();        
JDayChooser dayChooser = calendar.getDayChooser();
dayChooser.setAlwaysFireDayProperty(true); // here is the key
dayChooser.addPropertyChangeListener("day", ...);

注意:这在这个答案中也有解释。

票数 2
EN

Stack Overflow用户

发布于 2014-10-07 05:43:27

我认为你应该添加一个ActionListener而不是PropertyChangeListener.

请参阅http://max-server.myftp.org/jcalendar/ibuild/dist/doc/api/com/toedter/calendar/JDayChooser.html#actionPerformed%28java.awt.event.ActionEvent%29

上面写着:"JDayChooser是全天按钮的ActionListener“(在ActionListener上)

代码语言:javascript
复制
 calendar.getDayChooser().addActionListener(new ActionListener(){
     ...
 };
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26226986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档