首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用com.toedter.calendar.JDateChooser?

如何使用com.toedter.calendar.JDateChooser?
EN

Stack Overflow用户
提问于 2019-01-07 06:46:11
回答 1查看 8.9K关注 0票数 0

我使用com.toedter.calendar.JDateChooser在两个日期之间搜索,所以我有两个jDateChooser组件。

jDateChooser1jDateChooser2我希望在从jTable中的第二个jDateChooser2中选择日期之后检索记录

我试着用constructor写代码,它不编译,因为空

String from = jDateChooser1.getDate();获得null

我可以使用jButton搜索记录,但我希望它在jDateChooser事件上。

为了检查它是否有效,我试过了

代码语言:javascript
复制
private void jDateChooser1MouseClicked(java.awt.event.MouseEvent evt){                                           
    jLabel1.setText(String.valueOf(jDateChooser1.getDate()));

} 

代码语言:javascript
复制
private void jDateChooser1MouseReleased(java.awt.event.MouseEvent evt){                                                                
    jLabel1.setText(String.valueOf(jDateChooser1.getDate()));

}

但它也不适用于

jDateChooser1MouseReleased(java.awt.event.MouseEvent evt)

jDateChooser1MouseClicked(java.awt.event.MouseEvent evt)

正如我前面提到的,它正在使用jButton,但我不想使用:

代码语言:javascript
复制
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    jLabel1.setText(String.valueOf(jDateChooser1.getDate()));
    //Working 
}  

所以我以前的标题是“如何为实现事件”

所以现在我的问题更容易理解了。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-15 12:15:00

您可以使用dateChooser.getDateEditor().addPropertyChangeListener()注册侦听器。然后侦听属性“日期”中的更改。尝试下面的示例代码。

代码语言:javascript
复制
import com.toedter.calendar.JDateChooser;

import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.GridLayout;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;

public class JDateChooserSample
{
  public static void main(String[] args)
  {
    JLabel label = new JLabel("No date");

    JDateChooser dateChooser = new JDateChooser();
    dateChooser.getDateEditor().addPropertyChangeListener(new PropertyChangeListener()
    {
      @Override
      public void propertyChange(PropertyChangeEvent evt)
      {
        if (evt.getPropertyName().equals("date"))
        {
          label.setText(String.valueOf(dateChooser.getDate()));
        }
      }
    });

    JFrame f = new JFrame();
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.getContentPane().setLayout(new GridLayout(2, 1));
    f.getContentPane().add(dateChooser);
    f.getContentPane().add(label);
    f.setBounds(300, 200, 400, 300);
    f.setVisible(true);
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54069626

复制
相关文章

相似问题

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