java calendar 月份_java编写日历

java calendar 月份_java编写日历在此博客文章中,我们将使用调度程序库在Java Swing中构建每月日历。我们将使用日历的每月视图,但将使其仅在当前月份之后的3个月呈现。默认情况下,没有限制,用户可以在“单月”视图中前后滚动月份。…

使用MindFusion.Diagramming for WinForms在Java Swing中规定日期结束的月历

在此博客文章中,我们将使用调度程序库在Java Swing中构建每月日历。我们将使用日历的每月视图,但将使其仅在当前月份之后的3个月呈现。默认情况下,没有限制,用户可以在“单月”视图中前后滚动月份。我们将让我们的用户滚动过去想要的任意数量的月,但仅向前滚动3个月。

MindFusion.Diagramming for WinForms使用教程:在Java Swing中规定日期结束的月历

I.常规设置

我们在Eclipse中创建一个空项目,并将JPlanner.jar添加为外部Jar库,如下图所示:

MindFusion.Diagramming for WinForms使用教程:在Java Swing中规定日期结束的月历

然后,我们创建一个扩展JFrame的Java类,并在构造函数中创建Calendar类的新实例:

calendar = new Calendar(); 
getContentPane()。add(calendar,BorderLayout.CENTER);

代码100分

然后,使用setCurrentView方法将当前视图设置为SingleMonth,并使用setTheme将主题设置为SilverTheme日历支持各种ot视图和主题,它们是CalendarView和ThemeType枚举的成员。

二。处理事件

我们将使用addCalendarListener方法添加CalendarAdapter类的实例,该实例用于处理Calendar中的事件。

代码100分calendar.addCalendarListener(new CalendarAdapter(){		
		
		@Override()
		public void visibleDateChanged(DateChangedEvent e) {
			onVisibleDateChanged(e);
		}
		
	});

我们将处理visibleDateChanged事件,并检查用户何时滚动到不想显示的月份。在我们的示例中,我们希望用户只能提前三个月滚动。

该日历默认为当前日期可见初始化。对于CalendarView,这意味着将显示当前月份。我们将这个日期保留在该类的全局变量中,因为我们希望能够在事件处理程序方法中使用它:

 

protected MainWindow()
{
	setDefaultCloseOperation(EXIT_ON_CLOSE);
	setSize(400, 400);
	setTitle("Tutorial 1");
	initialDate = DateTime.now();
	...........................
	...........................
}

private Calendar calendar;
private DateTime initialDate;

我们将使用initialDate变量将日历重置为三个月后的数据。每当我们检测到用户即将滚动到第4个月时,就会将日期重置为initialDate月份之后的3个月。方法如下:

代码100分//确保将日期渲染到5月底为止
public void onVisibleDateChanged(DateChangedEvent e)
{ 

if(e.getNewDate()。getMonth()== initialDate.getMonth()+ 4)
{  
calendar.setDate(new DateTime( initialDate.getYear(),
initialDate.getMonth()+ 3,initialDate.getDay())); 
} 
}

现在,如果用户想转到第4个月,则视图将始终显示第3个月,并且不允许切换至前一个月

这样我们的教程就结束了。

本文章除转载自【慧都科技】。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,尊重他人劳动成果

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/6879.html

(0)
上一篇 2023-03-31
下一篇 2023-03-31

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注