Java做万年历小程序
更新时间:2024-06-25 14:08:01 阅读量: 综合文库 文档下载
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;
}
month_log=month_log+1; //将传来的月份数加1 switch(month_log){ case 1: case 3: case 5: case 7: case 8: case 10: case 12:
month_day_score=31; break; case 4: case 6: case 9: case 11:
month_day_score=30; break; case 2:
if(month_score_log==1){ month_day_score=29; } else{
month_day_score=28;
}
break; }
for(int i=7;i<49;i++){ //初始化标签 label.setText(\}
week_log=week_log+6; //将星期数加6,使显示正确 month_day_score=month_day_score+week_log;
for(int i=week_log;i //创建时钟 class Clock extends Canvas implements Runnable{ MainFrame mf; Thread t; String time; Clock(MainFrame mf){ this.mf=mf; setSize(400,40); setBackground(Color.white); t=new Thread(this); //实例化线程 t.start(); //调用线程 } public void run(){ while(true){ try{ t.sleep(1000); //休眠1秒钟 }catch(InterruptedException e){ System.out.println(\异常\} this.repaint(100); } } public void paint(Graphics g){ Font f=new Font(\宋体\ SimpleDateFormat SDF=new SimpleDateFormat(\年'MM'月'dd'日'HH:mm:ss\格式化时间显示类型 Calendar now=Calendar.getInstance(); time=SDF.format(now.getTime()); //得到当前日期和时间 g.setFont(f); g.setColor(Color.red); g.drawString(time,100,25); } } public class Wnl{ public static void main(String [] args){ JFrame.setDefaultLookAndFeelDecorated(true); MainFrame start=new MainFrame(); } }
正在阅读:
Java做万年历小程序06-25
电磁流量计在线检查和验证08-14
优质护理服务措施04-23
国卫办妇幼发〔2015〕59号 国家卫生计生委办公厅关于印发各级妇幼健康服务机构业务部门设置指南的通知11-03
医疗器械质量保证协议书Word版08-19
毕业论文:第三方支付机构商业模式比较研究05-11
新东方老师教你如何正确考研11-10
关于丝绸之路的资料02-18
学习笔记《共产党宣言》的解读09-26
百得燃烧器培训资料05-27
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 万年历
- 程序
- Java
- 2017西师版三年级下册数学全册导学案
- 安全生产责任制目录及内容汇编
- 九年级英语全册练习题及答案
- 诗歌朗诵《少年梦 - 中国梦》
- 农村土地承包经营权纠纷案例分析
- 数学文化活动借鉴
- 思想工作总结思想纪律作风整顿工作总结
- “十三五”重点项目-挂车、半挂车项目可行性研究报告 - 图文
- 电仪试题答案
- 福建省莆田一中2012届高三上学期期末考试理科综合试题
- 沙子镇中心完小驻校民警工作制度
- 《体育俱乐部经营管理》教学大纲 12-13(1)
- 计算机科学与技术专业毕业论文
- 托福阅读冲击满分训练方法
- 全过程造价咨询工作方案
- 中考化学试题-2018年江西省中等学校招生考试化学卷 最新
- 柯桥调研报告
- 中国半导体硅行业竞争格局与投资方向研究报告(2014-2019)
- 会计职业道德问题研究—基于A公司案例分析
- 厂内外包工程入厂安全教育考试卷(4套)