如何为java添加日历控件_java 如何在jtextfiled里面添加日历组件

本文介绍如何在Java应用程序中为JTextField添加日历组件。通过创建JDatePanel,并监听其动作事件,当用户选择日期后,将日期格式化并显示在JTextField中。同时处理了未选择日期时清除文本的异常情况。
摘要由CSDN通过智能技术生成

/**

* @param jframe 外部的JFrame对象

* @param model 是否模式窗口,即该窗口独占所有操作

* @param jtextfield 外部JFrame里面的一个JTextField对象即要填入的日期文本域

* @param screen_x 外部的JTextField点击触发一个MouseListener事件,传入e.getXOnScreen() 和 e.getYOnScreen(); 即决定随着鼠标位置弹出该日期框

* @param screen_y 即MouseEvent的e.getXOnScreen() 和 e.getYOnScreen()

*/

public MyTest(JFrame jframe, boolean model,final JTextField jtextfield, int screen_x, int screen_y)

{

final JDatePanel jp = JDateComponentFactory.createJDatePanel(new UtilDateModel(new Date())); //这个Panel是日历控件

jp.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e)

{

try{

jtextfield.setText(new SimpleDateFormat("yyyy-MM-dd").format(jp.getModel().getValue()));

//如果选中日期后,想消除JDialog,那么jp.addActionListener(new一个ActionListener的实现类,将this对象传递进去)然后调用dispose()方法

}catch(Exception ex){

//该日期控件点击Clear的时候会出异常,因为没有选中日期,如果要消除该异常,那么直接导入源代码,在源码里面改动。

//这里直接简化操作,点击Clear出现异常,直接将jtextfield赋值为""

jtextfield.setText("");

}

}

});

JPanel jpanel =(JPanel)jp;

this.add(jpanel);

this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);

this.setBounds(screen_x, screen_y, 300, 320);

this.setVisible(true);

}

这段代码应该用的上,有注解我就不多说了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值