最近在学习java窗体开发,自己做了一个万年历,还请大家多多指点
package awt;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
public class MyCalendar extends JFrame implements ActionListener
{
//private JTextField text;
TextField text=new TextField("2012");
int year;
int month=0,date=1;
int week=0;
int max=1;
JTextArea trea =new JTextArea();//创建一个文本域对象
public MyCalendar()
{
super("万年历");
this.setBounds(300, 300, 400, 400);
this.setResizable(true);
this.setBackground(Color.BLUE);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.getContentPane().setLayout(new FlowLayout(FlowLayout.CENTER));
this.add(text);
JScrollPane scr = new JScrollPane(trea);//创建一个滚动条对象
//JScrollPane scr=new JScrollPane(trea,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scr.setBounds(120, 10, 300, 300);
Font font=new Font("宋体",Font.PLAIN,15);
this.add(scr);
text.setEditable(true);
text.addActionListener(this);
this.actionPerformed(null);
this.setVisible(true);
trea.setFont(font);
trea.setBackground(Color.cyan);
trea.setForeground(Color.red);
trea.setColumns(33);
trea.setRows(20);
}
public void actionPerformed(ActionEvent e)
{
try
{
int years=Integer.parseInt(text.getText());
year=years;
Calendar c=Calendar.getInstance();
c.clear();
c.set(Calendar.YEAR,year);
c.set(Calendar.MONTH,month);
c.set(Calendar.DATE,date);
int weeks=c.get(Calendar.DAY_OF_WEEK);
week=weeks;
//trea.append(year+"年日历"+"\n");//在JTextArea中显示日历
trea.setText(year+"年日历"+"\n");
//do
while(month<=11)
{
switch(month+1)
{
case 1 :
case 3 :
case 5 :
case 7 :
case 8 :
case 10 :
case 12 :
max=31;
break;
case 2:
if(year%400==0||year%100!=0&&year%4==0)
max=29;
else
max=28;
break;
case 4 :
case 6 :
case 9 :
case 11:
max=30;
break;
}
trea.append("\n");
trea.append(month+1+"月份"+"\n");
trea.append(" 日 一 二 三 四 五 六"+"\n");
for(int i=1;i<week;i++)
{
trea.append(String.format("%4c",' '));
}
for(int day=1;day<=max;day++)
{
trea.append(String.format("%4d",day));
week++;
week%=7;
if (week==1)
trea.append("\n");
}
trea.append("\n");
month++;
}
//while(month<=11);
month=0;
}
catch(NumberFormatException nfe)
{
JOptionPane.showMessageDialog(this,"\""+text.getText()+"\"必须是整数,请重新输入");
}
finally{}
}
public static void main(String args[])
{
new MyCalendar();
}
}
- 大小: 42 KB
分享到:
相关推荐
### Java万年历课程设计知识点解析 #### 一、项目背景及目的 - **选题依据**:本项目为自选课程设计题目。选择万年历设计的主要原因是希望通过这样一个相对简单的项目来巩固Java基础知识。 - **课题内容**:设计并...
【Java万年历源代码详解】 Java编程语言以其跨平台性、面向对象特性和丰富的类库,成为开发各种应用程序的热门选择。在这个项目中,我们关注的是一个基于Java实现的万年历程序。万年历是一种能显示公历日期、节气、...
【Java万年历实验报告】 本实验报告详细记录了基于Java编程实现万年历的全过程,旨在帮助学习Java的学生理解如何将理论知识应用于实际项目,同时掌握日期处理技术和软件工程的基本理念。实验的设计目标包括创建一个...
这个“java万年历的源代码”提供了显示农历和节假日的功能,这对于许多需要处理日期和时间的应用场景非常有用,尤其是在中国的环境中,农历和节假日的查询是必不可少的。 首先,我们需要理解Java中的日期和时间处理...
【Java 万年历小程序代码解析】 在编程领域,尤其是Java开发中,编写一个万年历小程序是一项常见的练习,旨在帮助开发者熟悉日期处理、循环逻辑以及界面展示等基础知识。这个"java 万年历小程序"项目是作者在大学...
Java万年历源代码是一个基于Java编程语言的项目,它实现了可以显示任意年份日历的功能,涵盖了从公元1年到公元9999年的日期信息。这个项目深入运用了Java集合类、图形用户界面(GUI)设计、多线程以及异常处理等多个...
以下是对Java万年历开发涉及的关键知识点的详细解释: 1. **Java基础**:首先,你需要熟悉Java的基础语法,包括类、对象、方法、变量、控制结构(如if-else、switch-case、for、while循环)等。这是编写任何Java...
"JAVA 万年历" JAVA 万年历是基于 Java 语言开发的万年历程序,适合初学者学习 Java 编程。下面是该程序的知识点总结: 一、程序设计思路 在设计万年历程序时,需要考虑到多个方面,包括用户界面、数据存储、算法...
【JAVA万年历】是一款基于Java编程语言的小程序,它被设计为一个玩具项目,旨在帮助用户查看从公元1年到公元9999年的日期信息。这个小程序不仅能够显示公历日期,还可能包括中国传统农历以及其他节气、节日等信息。...
在本项目中,我们主要关注的是“Java万年历”的实现,这涉及到计算机科学中的日期和时间处理,图形用户界面(GUI)编程以及设计文档的编写。以下是对这些知识点的详细说明: 1. **日期和时间处理**:在Java中,处理...
JAVA万年历设计报告 本报告详细介绍了一个使用JAVA语言设计的万年历系统。该系统的主要功能是提供一个简洁的万年历,能够查看当前的年份、月份和日期,并能够查找1至9999年的日期与星期的关系。 在系统设计中,...
【JAVA万年历课程设计报告】是一份详细记录了使用JAVA进行万年历程序开发的课程设计报告。报告涵盖了从需求分析、概要设计到各模块功能及程序说明等多个方面,旨在展示一个基于图形用户界面的万年历应用程序的开发...
【Java万年历实现详解】 Java万年历是一款常见的编程练习项目,对于初学者来说,它可以帮助理解日期处理、循环逻辑以及用户界面设计等基础知识。本文将深入探讨这个项目的实现,包括关键知识点、可能存在的不足以及...
【Java万年历】是一种基于Java编程语言实现的日历系统,它可以显示从公元1年至公元9999年之间的所有日期,因此被称为“万年历”。这个程序通常包含了一个核心的日期计算算法,用于处理不同年份、月份和日期之间的...
java 万年历的class源文件 简单实用
【Java万年历源码详解】 Java万年历程序是一个能够显示从公元1年至公元9999年之间所有日期的实用工具。这个程序的核心在于它利用了Java编程语言的强大功能,结合日期处理和用户界面设计,为用户提供了一个简洁易用...