漂亮时钟java完整代码

漂亮时钟java完整代码
漂亮时钟java完整代码

漂亮时钟java完整代码

这个时钟是用java写的,我觉得很完美,其中加载了声音和背景图片,我会把图片贴在这里,至于背景音乐可以根据自己的需要改动,程序运行后效果如下:

今天把这个程序贴在这里,希望能帮到学习java的学弟学妹们。源代码如下:

import java.applet.Applet;

import java.applet.AppletContext;

import java.applet.AudioClip;

import java.awt.*;

import java.awt.event.*;

import java.io.PrintStream;

import java.util.Date;

public class Clock extends Applet implements Runnable

{

Thread th1 = null;

Image offScreenImage = null;

Graphics offScreen = null;

Image picture = null;

int icount = 0;

AudioClip song;

private String n="look! My clock!";

private String m="made by:";

private String p="jessie with the number 200501109";

public Clock()

{

}

public void init()

{

try

{

offScreenImage = createImage(800, 600);

offScreen = offScreenImage.getGraphics();

}

catch(Exception _ex)

{

offScreen = null;

}

picture = getImage(getCodeBase(), "Clockscreen.jpg"); song=getAudioClip(getCodeBase(),"song.wav");

song.loop();//加载声音

}

public void start()

{

th1 = new Thread(this);

th1.start();

}

public void stop()

{

th1 = null ;

}

public static int vectorX(int i, int h, int j)

{

int k = (i + h) % 360;

int l = (int)((double)j

* Math.cos((double)k * 2 * Math.PI / 360));

return l;

}

public static int vectorY(int i, int h, int j)

{

int k = (i + h) % 360;

int l = (int)((double)j

* Math.sin((double)k * 2 * Math.PI / 360)); return l;

}

public void run()

{

Thread.currentThread().setPriority(5);

do

{

try

{

Thread.sleep(1000);

}

catch(InterruptedException _ex) { }

repaint();

}

while(true);

}

public void paint(Graphics g) //防止闪屏

{

update(g);

}

public synchronized void update(Graphics g)

{

if(offScreen != null)

{

paintApplet(offScreen);

g.drawImage(offScreenImage, 0, 0, this);

return;

}

else

{

paintApplet(g);

return;

}

}

public void paintApplet(Graphics g)//具体画页面 {

g.fillRect(0, 0, 677, 555);

g.drawImage(picture, 0, 0, this);

g.setColor(Color.pink); //设置字体颜色

g.setFont(new Font("Arial",Font.PLAIN,24)); //设置文本字体和大小 g.drawString(n,20,50); //写文本“look!My clock!”

g.drawString(m,200,510); //写文本"made by:"

g.drawString(p,300,550);//写文本"jessie with the number 200501109"

g.setColor(Color.pink);//画表盘

g.drawOval(425,58,200,200);

g.drawOval(415,48,220,220);

for(int x=0;x<360;x+=6)

{

if(x%5!=0)

{

int u1=vectorX(x,270,100);

int v1=vectorY(x,270,100);

int u2=vectorX(x,270,110);

int v2=vectorY(x,270,110);

g.setColor(Color.pink);

g.drawLine(525+u1,158+v1,525+u2,158+v2);

}

else

{

int u3=vectorX(x,270,90);

int v3=vectorY(x,270,90);

int u4=vectorX(x,270,110);

int v4=vectorY(x,270,110);

g.setColor(Color.pink);

g.drawLine(525+u3,158+v3,525+u4,158+v4);

}

};

String s1="12";

String s2="3";

String s3="6";

String s4="9";

g.setColor(Color.pink);

g.drawString(s1,505,50);

g.drawString(s2,635,165);

g.drawString(s3,520,285);

g.drawString(s4,400,165);

g.fillOval(522,155,6,6);//表盘中心的圆点和圆圈

g.setColor(Color.yellow);

g.drawOval(518,149,14,14);

Date date = new Date();

int i = date.getMinutes();

int j = i * 6;

int kk = (date.getHours() ) % 24;

g.setFont(new Font("Helvetica", 1, 28));//设置字体,显示数码时间;

String s = new String();

s = kk+ ":" + date.toString().substring(14, 19);

g.setColor(Color.pink);

g.drawString(s,465, 320);

int k= (date.getHours() ) % 12;//开始获取时间经过计算画出时针、分针、秒针 int l = k * 30 + (i / 12) * 6;

int a = vectorX(l,255,63);

int b= vectorY(l,255,63);

int c = vectorX(l,270,63);

int d= vectorY(l,270,63);

int x1[]={525,525+a/4,525+c};

int y1[]={158,158+b/4,158+d};

g.setColor(Color.pink);

g.fillPolygon(x1,y1,3);

int a1 = vectorX(j,255,73);

int b1= vectorY(j,255,73);

int c1= vectorX(j,270,73);

int d1= vectorY(j,270,73);

int x2[]={525,525+a1/4,525+c1};

int y2[]={158,158+b1/4,158+d1};

g.setColor(Color.pink);

g.fillPolygon(x2,y2,3);

int k1 = date.getSeconds() * 6;

int a2 = vectorX(k1,255,85);

int b2= vectorY(k1,255,85);

int c2 = vectorX(k1,270,85);

int d2= vectorY(k1,270,85);

int x3[]={525,525+a2/4,525+c2};

int y3[]={158,158+b2/4,158+d2};

g.setColor(Color.pink);

g.fillPolygon(x3,y3,3);

}

}

然后还有html文件,内容如下:

其中的图片如下

JAVA课程设计钟表(含代码)

Java程序课程设计 任务书 钟表的设计与开发 1、主要内容: 创建一个钟表。 借助swing类和接口内部类的实现,在本程序中以实现Runnable接口内部类的形式创建多线程对象。 Runnable接口只定义了一个run()方法,所以调用start和sleep()方法时,必须创建Thread实例化对象。Interrupt()方法的作用是中断线程。 其作用方式是:多线程对象.interrupt()。 2、具体要求(包括技术要求等): 系统的功能要求: 1.可以记录时间的钟表。 2.熟悉JAVA中swing的组件运用,基本工具的熟练掌握。 学习并掌握以下技术:Java等。 熟练使用以下开发工具:JCreator + JDK 1.6.0_02 等实现系统上述的功能。 3、进度安排: 12月28日~ 12月29日:课程设计选题,查找参考资料 12月29日~ 1月2日:完成程序代码的编写 1月2日~ 1月3日:系统测试与完善 1月4日~ 1月5日:完成课程设计报告,准备答辩 4、主要参考文献 [1]张帆.Java范例开发大全[M].北京:清华大学出版社,2010:0-831. [2]耿祥义,张跃平.Java大学实用教程[M].北京电子工业出版社,2008:213-216

摘要 随着经济全球化的发展,推动生活节奏的加快,也给时间赋予了更重要的意义。基于方便人们更好的掌握时间,我们小组设计出了这个小时钟。 本时钟是一个基于Java语言设计而成的一个小程序,目的是显示时间,并且能调准时钟。整个程序从符合操作简便、界面友好、灵活使用的要求出发,完成调用、调整的全过程。 本课程设计报告介绍了时钟的构成,论述了目标功能模块;给出了时钟设计的步骤,程序主要所用到的Swing组件以及graphics方法。 关键词:时钟,

Java实现电子时钟

项目效果图: 源代码: import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.geom.Ellipse2D; import java.awt.geom.Line2D; import java.awt.image.BufferedImage; import java.awt.EventQueue; import java.util.Calendar; import java.util.GregorianCalendar; import javax.swing.JFrame; import javax.swing.JPanel; /* author: 蒋冰 */ public class MoveDraw extends JFrame{ private Draw draw = new Draw(); public static void main(String[] args){ EventQueue.invokeLater(new Runnable() { public void run() { try { MoveDraw frame = new MoveDraw(); frame.setVisible(true);

} catch (Exception e) { e.printStackTrace(); } } }); } public MoveDraw(){ super(); setTitle("动画"); setBounds(400,300,400,300); add(draw); Thread thread = new Thread(draw);// 创建线程对象 thread.start();// 启动线程对象 } class Draw extends JPanel implements Runnable{ Calendar calendar = new GregorianCalendar(); int hour = calendar.get(Calendar.HOUR); int minute = calendar.get(Calendar.MINUTE); int second = calendar.get(Calendar.SECOND); int year = calendar.get(Calendar.YEAR); int mouth = calendar.get(Calendar.MONTH); int day = calendar.get(Calendar.DAY_OF_MONTH); int week = calendar.get(Calendar.DAY_OF_WEEK); String date = year+"-"+mouth+"-"+day; String weeks[] = new String[]{"星期天","星期一","星期二","星期三","星期四","星期五","星期六"}; double theta = second * (2 * Math.PI)/60 ; double theta1 = (minute * (2 * Math.PI) + theta)/60; double theta2 = (hour*(2 * Math.PI) + theta1)/12; public void paint(Graphics g){ Graphics2D g2 = (Graphics2D) g; g2.clearRect(0, 0, 400, 300); g2.translate(draw.getWidth()/2, draw.getHeight()/2); g2.setColor(Color.blue); Font font = new Font("楷体",Font.ROMAN_BASELINE ,14); g2.setFont(font); g2.drawString(date, -25, 30); g2.drawString(weeks[week-1]+"", -15, 50); g2.setColor(Color.black); for(int i=1; i<=12; i++){ double theta = i*2*Math.PI/12;

java课程设计 万年历 源代码

华北科技学院 课程设计报告 面向对象程序设计(Java) 班级: 电商B09-3 姓名: 周婷玉 设计题目:__________万年历________________ 设计时间: 2011-12-28 至2012-01-06 指导教师:_______ 郭慧____________ _____ 评语:_________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ 评阅成绩:___________评阅教师:_____________

课程设计说明书 1、课程设计的目的 a)掌握面向对象程序设计基本要素(封装、继承、多态) b)掌握JA VA语言常用类包及其常用方法和JA VA语言基本语法 c)掌握基于AWT的图形用户界面设计 i.常用标准控件的使用,如标签、按钮、菜单、文本框、单选按钮、 滚动条等。 ii.事件处理机制 d)掌握布局、对话框的使用 e)掌握发布JA VA应用程序 2、功能模块简介和系统结构图 需求分析:本程序的要求为: 1.使用图形用户界面 2.能够实现日期与星期的查询 3.实现当日的时间备忘 功能设计: 1.能以月历形式显示日期与星期 2.支持用户自己输入年份,并提供月份的下拉形式来选择查询 3.添加当日行事历,储存与清除功能

Java完整代码

Chapter01——初识Java 1.单词 公共的、公有的:public 静态的:static 主要的:main 打印:print 2.编写类名为HelloWorld的的程序框架 public class HelloWorld{} 3.编写main()方法的框架 public static void main(String[] args){} 4.编写代码输出HelloWorld后并换行 System.out.println(“HelloWorld”); Chapter02——变量、数据类型和运算符 1.单词 字符:character 布尔:boolean 扫描器:scanner 成绩:score 名字:name 2.写出本章节中学习过的五种数据类型 int、double、char、String、boolean 3.创建扫描器对象,并接收用户输入的年龄 Scanner input=new Scanner(System.in); System.out.print(“请输入年龄:”); int age=input.nextInt(); 4.目前有整型变量custNo,请分解出它的个位、十位、百位和千位

int gewei=custNo%10; int shiwei=custNo/10%10; int baiwei=custNo/100%10; int qianwei=custNo/1000; Chapter03——选择结构(一) 1.单词 如果:if 继续:continue 随机:random 数学:math 打断:break 2.如果张浩的Java成绩大于98分,那么老师奖励他一个MP4;否则老师罚他编码, 请补全以下代码: int score=91; if(score>98){ System.out.println(“奖励一个MP4”); }else{ System.out.println(“惩罚进行编码”); } 3.某人想买车,买什么车决定于此人在银行有多少存款。 如果此人的存款超过500万,则买凯迪拉克 否则,如果此人的存款超过100万,则买帕萨特 否则,如果此人的存款超过50万,则买伊兰特 否则。如果此人的存款超过10万,则买奥拓 否则此人买捷安特,请补全以下代码: int money=52; //我的存款,单位:万元 if(money>=500){ System.out.println(“买凯迪拉克”); }else if(money>=100){

利用JAVA实现一个时钟的小程序

JAVA课程项目报告 项目题目:利用JAVA实现一个小时钟的程序 专业班级:10软件工程 利用JAVA实现一个时钟的小程序 1.软件开发的需求分析 在当今的信息时代,时钟已经成为人们生活中必不可少

的应用工具,Java语言是当今流行的网络编程语言,它具有面向对象、与平台无关、安全、多线程等特点。使用Java 语言不仅可以实现大型企业级的分布式应用系统,还能够为小型的、嵌入式设备进行应用程序的开发。面向对象的开发方法是当今世界最流行的开发方法,它不仅具有更贴近自然的语义,而且有利于软件的维护和继承。为了进一步巩固课堂上所学到的知识,深刻把握Java语言的重要概念及其面向对象的特性,锻炼我们熟练的应用面向对象的思想和设计方法解决实际问题的能力,开设了Java程序设计课程设计。 此次课程设计的题目为简单的小时钟程序设计,通过做巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、JCreator等开发工具的运用,拓宽常用类库的应用。使我们通过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。 2.具体实现 2.1设计思路 Java是一种简单的,面向对象的,分布式的,解释的,键壮的,安全的,结构中立的,可移植的,性能很优异的,多线程的,动态的语言。Java去掉了C++语言的许多功能,让Java的语言功能很精炼,并增加了一些很有用的功能,如

自动收集碎片。这将减少平常出错的50%。而且,Java很小,整个解释器只需215K的RAM。 因此运用JAVA程序编写小时钟程序,实现简单显示时间的功能。本次课程设计做的是Java简单小时钟,它是图形界面、线程、流与文件等技术的综合应用,其界面主要采用了java.awt包,javax.swing包等。程序实现了小时钟的基本功能。 2.2设计方法 在设计简单小时钟时,需要编写5个Java源文件:Server.java、Objecting.java、LogIn.java、ClientUser.java、Client.java。 小时钟除了需要编写的上述5个Java源文件所给出的类外,还需要Java系统提供的一些重要的类,如JTextField、JTextArea和File类。 2.3 运行环境 CPU:Pentium 2.8GHz以上 内存:256MB以上 硬盘空间:80G以上 操作系统:Windows XP 运行环境:JDK,JCreator 2.4 程序功能图及程序相关说明 2.4.1 主功能框

电子时钟java写的

package com.lw; import java.awt.BorderLayout; import java.awt.EventQueue; import java.awt.Font; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.util.Calendar; import java.util.GregorianCalendar; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingConstants; import javax.swing.UIManager; import javax.swing.border.EmptyBorder; public class DigitalClock extends JFrame { /** * */ private static final long serialV ersionUID = 4962111797317773666L; private JPanel contentPane; private JLabel label; /** * Launch the application. */ public static void main(String[] args) { try { UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"); } catch (Throwable e) { e.printStackTrace(); } EventQueue.invokeLater(new Runnable() { public void run() { try { DigitalClock frame = new DigitalClock(); frame.setV isible(true); } catch (Exception e) { e.printStackTrace(); }

Java实现迷你小闹钟源代码

package pkg110; import java.awt.*; import java.awt.event.*; import java.util.*; import javax.swing.*; import javax.swing.Timer; /** * * @author Administrator */ public class Clock extends JFrame implements ActionListener{ public final int HEIGTH = 200, L0 = 50, T0 = 50,N=8; public final double RAD = Math.PI / 180.0; int x, y, old_X, old_Y, r, x0, y0, w, h, ang; int sdo, mdo, hdo, old_M, old_H, hh, mm, ss; int delay = 1000; Calendar now; String st, alarm, Items1, Items2,str[]; JButton jb; JComboBox jc1, jc2, jc3; JLabel jl1, jl2, jl3, jl4; JTextField jtf1, jtf2, time; JPanel jp1, jp2, jp3; Timer timer; TimeZone tz = TimeZone.getTimeZone("JST"); Toolkit toolkit=Toolkit.getDefaultToolkit(); /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here Clock cp = new Clock(); cp.setVisible(true); } Clock() { super("闹钟"); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); setSize(400,550); setVisible(true); Container contentPane = getContentPane(); jp2 = new JPanel(); jl1 = new JLabel("闹铃时间");

JAVA课程设计 时钟

辽宁工业大学 JA V A程序设计课程设计(论文)题目:时钟 院(系):软件学院 专业班级:软件技术班 学号: 学生姓名: 指导教师:丁宝柱 教师职称:助教 起止时间: 2009.12.1至2009.12.16

程序设计专题(报告)任务及评语

目录 第1章课程设计的目的与要求 (1) 1.1 课程设计目的 (1) 1.2 课程设计的实验环境 (1) 1.3 课程设计的预备知识 (1) 1.4 课程设计要求 (1) 第2章课程设计内容 (2) 2.1课程设计主要内容 (2) 2.2概要设计 (2) 2.2.1自定义类说明 (2) 2.3详细设计 (3) 2.4测试分析 (16) 2.4.1程序运行情况 (16) 2.4.2程序异常处理 (16) 第3章课程设计总结 (17) 参考资料18

第1章课程设计的目的与要求 1.1 课程设计目的 《JA V A程序设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是计算机相关专业学生学习完《JAVA程序设计》课程后,进行的一次全面的综合训练,JA V A程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。 1.2 课程设计的实验环境 硬件要求能运行Windows 9.X操作系统的微机系统。JAVA程序设计语言及相应的集成开发环境,J2SDK和ECLIPSE开发工具。 1.3 课程设计的预备知识 熟悉JAVA语言及ECLIPSE开发工具。 1.4 课程设计要求 按课程设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JA V A程序设计的基本技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。

JAVA线程程序设计(小时钟)实验报告(附完整代码)

线程程序设计 一、课题内容和要求 内容:设计和编写一个编写一个指针式时钟程序,应用线程实现时钟的走动。 要求:本实验旨在通过实验,培养学生将JAVA 线程的相关知识点(包括线程调度,线程同步等)有机结合并加以综合应用,在实验中设计多线程程序的能力。 二、设计思路分析 class Clock:一个指针式时钟的主类 class Layout: 添加窗口和时钟组件 class ClockPaint:定义时钟组件 三、概要设计 public class Clock extends JFrame { public static void main(String[] s) ; } class Layout extends JFrame { public Layout(); } class ClockPaint extends JPanel implements Runnable { int x, y, r; int h, m, s; double rad = Math.PI / 180; public ClockPaint(int x, int y, int r); public void paint(Graphics g); public void run(); } 时钟的绘制:

运行时钟: 四、详细设计 import java.awt.*; import javax.swing.*; import java.util.*; public class Clock extends JFrame { public static void main(String[] s) { new Layout(); } } class Layout extends JFrame {// 添加窗口和时钟组件public Layout() { ClockPaint cp = new ClockPaint(20, 20, 70); add(cp);

时钟(LED方式)java课程设计

摘要 随着经济全球化的发展,推动生活节奏的加快,也给时间赋予了更重要的意义。基于方便人们更好的掌握时间,我设计出了这个小时钟。 本时钟是一个基于Java语言设计而成的一个小程序,目的是显示日期和时间,并且能调准时钟。整个程序从符合操作简便、界面友好、灵活使用的要求出发,完成调用、调整的全过程。 本课程设计报告介绍了时钟的构成,论述了目标功能模块;给出了时钟设计的步骤。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JAVA程序设计的基本技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。 关键字时钟,Java程序设计,面向对象,设计

目录 摘要..............................................................................................................................- 1 - 1前言..........................................................................................................................- 3 - 1.1 课程设计目的 ....................................................................................................- 3 - 1.2 课程设计的实验环境..........................................................................................- 3 - 1.3 课程设计的预备知识..........................................................................................- 3 - 1.4 课程设计要求 ....................................................................................................- 3 - 2 可行性分析................................................................................................................- 4 - 2.1 社会可行性........................................................................................................- 4 - 2.2 市场可行性........................................................................................................- 4 - 2.3 技术可行性........................................................................................................- 4 - 2.4 经济可行性........................................................................................................- 4 - 3 总体设计....................................................................................................................- 5 - 3.1开发平台 ............................................................................................................- 5 - 3.2时钟功能的概述..................................................................................................- 5 - 3.3时钟数字显示 .....................................................................................................- 5 - 3.3时钟指针显示 .....................................................................................................- 5 - 3.4时钟的设置.........................................................................................................- 5 - 4 代码设计....................................................................................................................- 6 - 4.1 部分源码............................................................................................................- 6 - 5 界面设计....................................................................................................................- 9 - 5.1课程设计主要内容 ..............................................................................................- 9 - 5.2概要设计 ............................................................................................................- 9 - 5.2.1自定义类说明...........................................................................................- 9 - 5.3表单设计 .......................................................................................................... - 10 - 5.4 界面展示.......................................................................................................... - 11 - 5.4.1日期的界面 ............................................................................................ - 11 - 5.4.2 部分代码 ............................................................................................... - 11 - 5.4.3 时间的界面............................................................................................ - 12 - 5.4.4 部分代码 ............................................................................................... - 12 - 5.4.5整体界面................................................................................................ - 14 - 6结束语....................................................................................................................... - 15 - 参考文献................................................................................................................ - 16 -

java简易电子时钟代码

import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.*; import java.text.SimpleDateFormat; public class ClockJFrame extends JFrame{ private Date now=new Date(); Panel buttons=new Panel(); Button button_start=new Button("启动"); Button button_interrupt=new Button("停止"); Clock label=new Clock(); public ClockJFrame() //构造方法 { super("电子时钟"); this.setBounds(300,240,300,120); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setLayout(new BorderLayout()); this.getContentPane().add("North",label);//初始化一个容器,用来在容器上添加一个标签 this.getContentPane().add("South",buttons); buttons.setLayout(new FlowLayout()); buttons.add(button_start); buttons.add(button_interrupt); setVisible(true); } private class Clock extends Label implements ActionListener,Runnable{ private Thread clocker=null; private Date now=new Date(); public Clock(){ button_start.addActionListener(this); button_interrupt.addActionListener(this); SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");//可以方便地修改日期格式 String t = dateFormat.format( now ); this.setText(t); } public void start(){ if(clocker==null){

漂亮时钟java完整代码

漂亮时钟java完整代码 这个时钟是用java写的,我觉得很完美,其中加载了声音和背景图片,我会把图片贴在这里,至于背景音乐可以根据自己的需要改动,程序运行后效果如下: 今天把这个程序贴在这里,希望能帮到学习java的学弟学妹们。源代码如下: import java.applet.Applet; import java.applet.AppletContext; import java.applet.AudioClip; import java.awt.*; import java.awt.event.*; import java.io.PrintStream; import java.util.Date; public class Clock extends Applet implements Runnable { Thread th1 = null; Image offScreenImage = null; Graphics offScreen = null; Image picture = null; int icount = 0; AudioClip song; private String n="look! My clock!"; private String m="made by:"; private String p="jessie with the number 200501109";

public Clock() { } public void init() { try { offScreenImage = createImage(800, 600); offScreen = offScreenImage.getGraphics(); } catch(Exception _ex) { offScreen = null; } picture = getImage(getCodeBase(), "Clockscreen.jpg"); song=getAudioClip(getCodeBase(),"song.wav"); song.loop();//加载声音 } public void start() { th1 = new Thread(this); th1.start(); } public void stop() { th1 = null ; } public static int vectorX(int i, int h, int j) { int k = (i + h) % 360; int l = (int)((double)j * Math.cos((double)k * 2 * Math.PI / 360)); return l; } public static int vectorY(int i, int h, int j) {

JAVA简单转盘时钟

package shiyan; import java.awt.Font; import java.awt.Graphics; import java.util.Calendar; import java.util.GregorianCalendar; import javax.swing.JFrame; import javax.swing.JPanel; public class shizhong extends JFrame{ public shizhong() { //窗体的设置 // Font jf = new Font(null,Font.BOLD,30); // this.setFont(jf); this.setTitle("时钟"); ClockPanel jp_clock = new ClockPanel(); this.add(jp_clock); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setSize(400, 400); this.setVisible(true); //线程的设置及启动 Thread ClockRun = new Thread(jp_clock); ClockRun.start(); } public static void main(String[] args) { new shizhong(); } } class ClockPanel extends JPanel implements Runnable { //表的中间 private double CenterX,CenterY; private double Radius = 150; //小时,分钟,秒的针头坐标 private double HPointX,HPointY,MPointX,MPointY,SPointX,SPointY; private int Year,Month,Day,WeekDay,Hour,Minute,Second; private final double PI = Math.PI; public synchronized void paintComponent(Graphics g) { super.paintComponent(g);

Java课程设计-时钟图形模拟

课程设计任务书

目录 1 设计内容及要求 (1) 1.1 设计内容 (1) 1.2 设计目的及意义 (1) 2 概要设计 (1) 2.1功能简介 (1) 2.2功能说明: (1) 2.3 总体程序框图 (2) 3 设计过程 (3) 3.1各个模块程序流程图 (3) 3.2运行界面及关键代码 (4) 4设计结果与分析 (6) 4.1设计结果 (6) 4.2分析 (6) 5 总结 (7) 6 参考文献 (7) 附程序清单及源程序 (8)

1 设计内容及要求 1.1 设计内容 通过编程最终使电脑屏幕显示模拟时钟,并正常运行显示表针时间,电脑上呈现一个图种的模型表示电脑上的时间,并可以模拟时钟走动。 1.2 设计目的及意义 设计目的及意义:熟悉Visual c++ 6.0软件的应用,C语言相关函数,语句的学习,查找资料代码等,编程、调试、运行、效果显示调整,完成上传,熟悉编程语言,了解程序运行以及图像显示等C语言的应用,通过编程实现既定功能。培养自学能力,独立思考能力,将理论形成实际运用,同时可以掌握下列运算符的使用: 1 .数据类型(整形、实型、字符型、指针、数组、结构等)。 2 .运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等)。 3 .程序结构(顺序结构、判断选择结构、循环结构) 5 .复杂任务功能分解方法(自顶向下逐步求精、模块化设计、信息隐藏等)。 6 .学会编制结构清晰、风格良好、数据结构适当的C语言程序。 2 概要设计 2.1功能简介 实现功能如下: (1)在屏幕上最终显示一个图形时钟(用程序绘制一个与时钟样式相似即可),能模拟机械钟表行走。 (2)数字式显示时间与指针式显示时间一致,且各指针运动规律正确。 (3)能准确的利用数字显示时间和日期。 (4)按ESC可以退出程序。 2.2功能说明: 内容:指针式时钟模块完成在屏幕上显示一个活动时钟,模拟机械钟表行走,时针,分针,秒针不同颜色且顺时针旋转,获取系统时间;数字式时钟模块完成显示时间格式年月日时分秒,小时为24小时制,分和秒为60进制与指针式的时

java图形时钟源代码

import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; public class clock extends JFrame{ /** * */ private static final long serialVersionUID = 1L; ImagePane imagePane[]; String mypic; static Calendar now; static Float s; static Float m; static Float h; class s extends Thread { public void run() { while(true) { gettime(); s = (float)(now.get(Calendar.SECOND) * 6);// 获得秒转换成度数,每秒转1次(1/60圆周) imagePane[0].ratoteImage(s*Math.PI/180);//秒针旋转 try {Thread.sleep(1000);} catch (Exception ex) {} }} } class m extends Thread { public void run() {

while(true) { gettime(); m = (float)(now.get(Calendar.MINUTE) * 6+Math.rint(now.get(Calendar.SECOND)/15)*1.5);// 获得分钟,每15秒转1次(1/24圆周) imagePane[1].ratoteImage(m*Math.PI/180);//分针旋转 try {Thread.sleep(15000);} catch (Exception ex) {} }} } class h extends Thread { public void run() { while(true) { gettime(); h = (float)((now.get(Calendar.HOUR_OF_DAY) - 12) * 30+ Math.rint(now.get(Calendar.MINUTE)/2));// 获得小时,每12分转1格 imagePane[2].ratoteImage(h*Math.PI/180);//时针旋转 try {Thread.sleep(120000);} catch (Exception ex) {} }} } public static void gettime() { now = new GregorianCalendar(); } public clock() { super("java时钟"); //调用父类构造函数 imagePane=new ImagePane[4]; Container container=getContentPane(); //得到窗口容器 for(int i=0;i<4;i++) { imagePane[i]=new ImagePane(); imagePane[i].setOpaque(false);//设置透明 imagePane[i].loadImage("image/"+(3-i)+".png"); //装载图片 imagePane[i].setBounds(0, 0, 500, 600);//设置位置 container.add(imagePane[i]); //增加组件到容器上 }

相关文档
最新文档