Java做万年历小程序

2019-03-22 10:28

import javax.swing.*; import java.awt.*;

import java.awt.event.*; import java.text.*; import java.util.*;

//创建窗口和年历

class MainFrame extends JFrame{

JPanel panel=new JPanel(new BorderLayout());//BorderLayout为边界布局 JPanel panel1=new JPanel();

JPanel panel2=new JPanel(new GridLayout(7,7));//GridLayout为网格布局 JPanel panel3=new JPanel(); JLabel []label=new JLabel[49]; JLabel y_label=new JLabel(\年份\JLabel m_label=new JLabel(\月份\JComboBox com1=new JComboBox(); JComboBox com2=new JComboBox(); JButton button=new JButton(\查看\int re_year,re_month;

int x_size,y_size; String year_num;

Calendar now=Calendar.getInstance(); //实例化Calendar MainFrame(){

super(\万年历-Jackbase\

setSize(300,350);

x_size=(int)(Toolkit.getDefaultToolkit().getScreenSize().getWidth()); y_size=(int)(Toolkit.getDefaultToolkit().getScreenSize().getHeight()); setLocation((x_size-300)/2,(y_size-350)/2);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); panel1.add(y_label); panel1.add(com1); panel1.add(m_label); panel1.add(com2); panel1.add(button); for(int i=0;i<49;i++){

label=new JLabel(\将显示的字符设置为居中 panel2.add(label); }

panel3.add(new Clock(this));

panel.add(panel1,BorderLayout.NORTH); panel.add(panel2,BorderLayout.CENTER);

panel.add(panel3,BorderLayout.SOUTH); panel.setBackground(Color.white); panel1.setBackground(Color.white); panel2.setBackground(Color.white); panel3.setBackground(Color.white); Init();

button.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ int c_year,c_month,c_week;

c_year=Integer.parseInt(com1.getSelectedItem().toString()); //得到当前所选年份c_month=Integer.parseInt(com2.getSelectedItem().toString())-1; //得到当前月份,并减c_week=use(c_year,c_month); //调用函数use,得到星期几 Resetday(c_week,c_year,c_month); //调用函数Resetday }});

setContentPane(panel); setVisible(true); setResizable(false); }

public void Init(){

int year,month_num,first_day_num;

1,计算机中的月为0-11

String log[]={\日\一\二\三\四\五\六\for(int i=0;i<7;i++){ label.setText(log); }

for(int i=0;i<49;i=i+7){

label.setForeground(Color.red); //将星期日的日期设置为红色 }

for(int i=6;i<49;i=i+7){

label.setForeground(Color.red);//将星期六的日期也设置为红色 }

for(int i=1;i<10000;i++){ com1.addItem(\}

for(int i=1;i<13;i++){ com2.addItem(\}

month_num=(int)(now.get(Calendar.MONTH)); //得到当前时间的月份 year=(int)(now.get(Calendar.YEAR)); //得到当前时间的年份 com1.setSelectedIndex(year-1); //设置下拉列表显示为当前年

com2.setSelectedIndex(month_num); //设置下拉列表显示为当前月 first_day_num=use(year,month_num);

Resetday(first_day_num,year,month_num); }

public int use(int reyear,int remonth){ int week_num;

now.set(reyear,remonth,1); //设置时间为所要查询的年月的第一天 week_num= (int)(now.get(Calendar.DAY_OF_WEEK));//得到第一天的星期 return week_num; }

public void Resetday(int week_log,int year_log,int month_log){ int month_score_log; //判断是否是闰年的标记 int month_day_score; //存储月份的天数 int count;

month_score_log=0; month_day_score=0; count=1;

if(year_log%4==0&&year_log0!=0||year_log@0==0){//判断是否为闰年 month_score_log=1;


Java做万年历小程序.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高压电工实操题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: