我有两个 JDateChoosers,一个带有“开始日期”标签,另一个带有“结束日期”标签。我有两个单选按钮“单日”和“多日”。如果我选择“单日”,我想将相同的日期显示为“在“开始日期”中选择的“结束日期”。而且我还想在 CLEAR_BUTTON_CLICK 上清除这些 JDateChooser 文件。我该怎么写?我第一次使用这个控件..
LZ,帮帮我..
提前致谢..
我有两个 JDateChoosers,一个带有“开始日期”标签,另一个带有“结束日期”标签。我有两个单选按钮“单日”和“多日”。如果我选择“单日”,我想将相同的日期显示为“在“开始日期”中选择的“结束日期”。而且我还想在 CLEAR_BUTTON_CLICK 上清除这些 JDateChooser 文件。我该怎么写?我第一次使用这个控件..
LZ,帮帮我..
提前致谢..
我假设您正在谈论来自 JCalendar 的 JDateChooser。我对么?JDateChooser 在其日期更改时触发 PropertyChangeEvent。因此,要设置另一个 JDateChooser 的日期,您需要在“源”组件中添加一个事件处理程序来处理更改事件。当它被触发时,您使用 getDate() 方法获取组件的日期,并使用 setDate() 方法将其设置为目标组件。由于您使用的是我没有在此处安装的组件套件,因此很难为您实施正确的解决方案。
查看文档:http ://www.toedter.com/en/jcalendar/api/com/toedter/calendar/JDateChooser.html
我认为阅读本文后,您将能够做自己想做的事。
编辑:这是一些代码。尝试使用它。我真的不确定它是否会起作用,因为我没有测试它。
// sourceDateChooser and targetDateChooser MUST be final,
// since they will be accessed inside a anonymous inner class
sourceDateChooser.addPropertyChangeListener( new PropertyChangeListener(){
@Override
public void propertyChange(PropertyChangeEvent evt) {
// the docs of JDateChooser says that when the date is modified, a "date" property change is fired
if ( evt.getPropertyName().equals( "date" ) ) {
targetDateChooser.setDate( sourceDateChooser.getDate() );
}
}
});