已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
代码实现:public class Date public Date(int year, int month) int cols = 1; int days = 1; for(int i=1; iyear; i+) if(i%100!=0) & (i%4=0) | (i%400=0) days += 366; else days += 365; for(int j=1; jmonth; j+) switch(j) case 1: case 3: case 5: case 7: case 8: case 10: case 12: days += 31; break; case 2: if(year%100!=0) & (year%4=0) | (year%400=0) days += 29; else days += 28; break; default: days += 30; break; cols = days % 7; printDate(year, month, cols); public void printDate(int year, int month, int cols) int days = 0; int i = year; int j = month; System.out.println(i+年); System.out.println(t+i+年 +j+月 +cols=+cols); switch(j) case 1: case 3:case 5: case 7: case 8: case 10: case 12: days = 31; break; case 2: if(i%100!=0) & (i%4=0) | (i%400=0) days = 29; else days = 28; break; default: days = 30; break; System.out.println(t日 + t一 + t二 + t三 + t四 + t五 + t六); for(int m=1; m=cols; m+) System.out.print(t); for(int k=1; k=7) System.out.println(); cols = 0; System.out.println(); public static void main(String args) Date d1 = new Date(2014, 10); /输出2014年10月日历 运行截图:表盘制作import javax.swing.*;import java.awt.*;import java.io.*;import java.util.Calendar;import java.awt.event.*;import java.awt.image.BufferedImage;public class ThreadClock extends JFrame implements Runnable private volatile BufferedImage boardDrawing;/volatile是程度较轻的 synchronized private volatile BufferedImage boardDisplaying; public ThreadClock() setTitle(ThreadClock); setSize(300, 300); setLocation(450,200); setDefaultCloseOperation(DISPOSE_ON_CLOSE); setVisible(true); boardDrawing = new BufferedImage(this.getWidth(), this.getHeight(), BufferedImage.TYPE_INT_RGB); boardDisplaying = new BufferedImage(this.getWidth(), this.getHeight(), BufferedImage.TYPE_INT_RGB); public void paint(Graphics g) g.drawImage(boardDisplaying, 0, 0, null); Override public void run() /本来我这里的循环条件为true,不过测试运行了几次之后发现这个线程并没有被关闭 /内存使用变成了3GB+,任务管理器中满是javaw.exe /后来用this.isShowing()来判断一下,终于可以顺利结束进程了 while(this.isShowing() Graphics g = boardDrawing.getGraphics(); g.setColor(Color.WHITE); g.clearRect(0, 0, boardDrawing.getWidth(), boardDrawing.getHeight();/清除图形 g.fillRect(0, 0, boardDrawing.getWidth(), boardDrawing.getHeight();/填充背景色为白色 /画图 /画出clock的表盘及数字 g.setColor(Color.BLUE); g.drawOval(100, 100, 100, 100); g.drawString(12, 145, 115); g.drawString(6, 145, 195); g.drawString(9, 105, 155); g.drawString(3, 190, 155); /get Instance Time得到当前时间 Calendar c=Calendar.getInstance(); int week=c.get(Calendar.DAY_OF_WEEK); int month=c.get(Calendar.MONTH); int day=c.get(Calendar.DATE); int hour=c.get(Calendar.HOUR_OF_DAY); int minute=c.get(Calendar.MINUTE); int second=c.get(Calendar.SECOND); int year=c.get(Calendar.YEAR); /画出时针分针秒针 DrawHands(g, second/60.0, 40); DrawHands(g, minute/60.0, 32); DrawHands(g, (hour)/12.0, 25); String weekName=星期日,星期一,星期二,星期三,星期四,星期五,星期六; String monthName=一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月; /画出显示时间的字符串 String timeString=String.format(%s %s - -:-:- %s, weekNameweek,monthNamemonth,day,hour,minute,second,year); g.drawString(timeString, 75, 215); g.drawString(neolone, 240, 280); / 切换前景与背景工作区 BufferedImage tmp = boardDisplaying; boardDisplaying = boardDrawing; boardDrawing = tmp; this.repaint(); try Thread.sleep(500); catch (Exception e) System.out.println(e); /用g画出某根针(时分秒只是长度不同),percent表示从十二点到某指针现在的位置占整个圆周的百分比,length表示长度 private void DrawHands(Graphics g,Double percent,int length) double degree=360*percent; int x=(int)(150+Math.cos(2*Math.PI*(90-degree)/360)*length); int y=(int)(150-Math.sin(2*Math.PI*(90-degr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025四季度浙商银行金华分行社会招聘备考题库及答案详解(全优)
- 2026年度中国建设银行江苏省分行校园招聘820人备考题库含答案详解(能力提升)
- 2026福建省面向天津大学选调生选拔工作备考题库及答案详解(易错题)
- 2025年商洛市消防救援支队招聘政府专职消防员备考题库(34人)含答案详解(精练)
- 2025湖北银行小企业金融服务中心社会招聘备考题库及1套完整答案详解
- 2025中国邮政储蓄银行重庆分行社会招聘备考题库附答案详解
- 儿科常见病家庭护理要点
- 口腔护理技术提升
- 2025 初中语文八年级上册人物心理的多维度呈现课件
- 移动医疗APP在慢性病管理中的作用
- 2025贵州安虹航空机械有限公司招聘9人笔试考试备考试题及答案解析
- 施工现场安全、文明考核管理办法
- 香蕉购买协议书模板
- 庸懒散浮拖自检自查报告及整改措施
- 妊娠合并肝损害的健康宣教
- 2025广东中山市人力资源和社会保障局招聘雇员10人考试历年真题汇编附答案解析
- 骨盆和骨盆底解剖课件
- 辽宁省名校联盟2025年高三12月份联合考试物理试卷(含答案详解)
- 文书模板-企业研发费用管理流程(SOP)
- 八上语文期末必背作文10篇
- 2026年高考语文押题作文8篇
评论
0/150
提交评论