线程的应用,java编写的模拟钟表

线程的应用,java编写的模拟钟表
线程的应用,java编写的模拟钟表

Java中线程可以做很多事情,可以让你的程序成为一个多线程程序,并且可以实现类似于c#中的timer控件相同的功能,控制循环,刷新组件的显示。

下面编写一个时钟程序,用来实现线程的循环与控制。

一下是源代码:

import javax.swing.*;

import java.math.*;

import java.awt.*;

import java.awt.event.*;

import java.text.*;

import java.util.*;

public class test {

public static void main(String args[]){

mycom mm=new mycom();

//创建以mycom为对象的线程

Thread t=new Thread(mm);

t.start();

}

}

class clocktest extends JFrame implements Runnable

{

String str=null;

int second,hours,minute;

Graphics g;

final double pi=Math.PI ;

public clocktest()

{

super("当前时间");

this.show();

g=this.getGraphics();

// this.getContentPane().setBackground(Color.white );

}

public void run()

{

while(true)

{

try{Thread.currentThread().sleep(1000);}

catch(InterruptedException ex){

}

Date date=new Date();

//获取当前系统时间,并且得到时,分,秒

second=date.getSeconds();

hours=date.getHours();

minute=date.getMinutes();

SimpleDateFormat formar=new SimpleDateFormat("yyyy年MM 月dd日hh时mm分ss秒");

str=formar.format(date);

g.setFont(new Font("幼圆",Font.BOLD ,20));

g.clearRect(0,12,320,80);

g.setColor(Color.black );

g.drawString(str,10,50);

//清除表针

g.clearRect(50,100,210,210);

g.setColor(Color.PINK );

//画出表盘

g.drawOval(50,100,200,200);

g.setColor(Color.blue );

//重绘时针

g.setColor(Color.red );

g.drawLine(150,200,150+(int)(-60*Math.cos((hours*pi/6+minute*pi/360)+pi/2)),200-(int)(6 0*Math.sin((hours*pi/6+minute*pi/360)+pi/2)));

//重绘分针

g.setColor(Color.blue );

//显示星期几

g.fillRect(143, 150, 25, 18);

g.setColor(Color.white );

g.drawString(Integer.toString(date.getDay()),150,165);

g.setColor(Color.blue);

g.drawLine(150,200,150+(int)(-70*Math.cos(minute*pi/30+pi/2)),200-(int)(70*Math.sin(mi nute*pi/30+pi/2)));

//重绘秒针

g.setColor(Color.green);

g.drawLine(150,200,150+(int)(-90*Math.cos(second*pi/30+pi/2)),200-(int)(90*Math.sin(sec ond*pi/30+pi/2)));

//重画标记3,6,9,12

g.setColor(Color.black );

g.drawString("3",140+(int)(-100*Math.cos(pi)),204-(int)(100*Math.sin(pi)));

g.drawString("6",145+(int)(-100*Math.cos(pi*3/2)),195-(int)(100*Math.sin(pi*3/2)));

g.drawString("9",155+(int)(-100*Math.cos(2*pi)),200-(int)(100*Math.sin(pi*2)));

g.drawString("12",140+(int)(-100*Math.cos(pi/2)),215-(int)(100*Math.sin(pi/2)));

g.setColor(Color.pink );

g.fillOval(147,198,10,10);

}

}

}

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中获取比毫秒更为精确的时间 (2012-07-03 11:54:33) 转载▼ 分类:实践经验 标签: 杂谈 from: https://www.360docs.net/doc/0f9017655.html,/paul_lh/article/details/6419982 关键词:java 毫秒微秒纳秒System.currentTimeMillis() 误差 在对新写的超快xml解析器和xpath引擎进行效率测试时,为获取执行时间,开始也没多想就用了System.currentTimeMillis() 来做的。由此碰到一个极其诡异的问题,同样的代码循环执行数次,分析每一次的执行时间,发现一大部分执行时间为小于1毫秒,但其间也发现有相当一部分的执行时间有非常大的跳跃,而且时间都近似16毫秒左右。这个1毫秒和16毫秒结果,以计算机的运行速度看,差距是惊人的,必须找出其原因。 根据经验,在16毫秒时间内,cpu可以运算的指令数量是相当惊人的,所以可以基本断定这16ms的差距,应当不是cpu在执行指令,另外因为测试过程中gc输出也已经打开,未见gc发生,所以怀疑可能是发生了什么io阻塞,比如文件读写、加载类库、或者什么网络操作等,由于笔者测试的系统的环境比较复杂,其间有用到ehCache,数据库操作等,排查起来非常不容易。 在困扰了好一阵之后,忽然想到可能计时系统有误差,这才翻回来查了下 System.currentTimeMillis() 的文档,原来这个方法调用了个native方法,获取的时间精度会依赖于操作系统的实现机制。奶奶的! 既然不准,就看看有没更准的方法,在jdk5源码中,挨着System.currentTimeMillis() 定义就是System.nanoTime() 方法,靠,一下来了个精准1000000倍的取纳秒的方法,不过看

操作系统时间片轮转RR进程调度算法java版

实验二间片轮转RR 进程调度算法 1、实验目的通过这次实验,加深对进程概念的理解,进一步掌握进程状态 的转变、进程调度的策略及对系统性能的评价方法。 2、试验内容 问题描述:设计程序模拟进程的时间片轮转RR调度过程。假设有n 个进程分别在T1, ?,T n 时刻到达系统,它们需要的服务时间分别为 S1, ?,n S。分别利用不同的时间片大小q,采用时间片轮转RR进程调度算法进行调度,计算每个进程的完成时间、周转时间和带权周转时间,并且统计n个进程的平均周转时间和平均带权周转时间。 3、程序要求: 1)进程个数n;每个进程的到达时间T1, ?,T n 和服务时间S1, ?,n S;输入时间片大小q。 2)要求时间片轮转法RR调度进程运行,计算每个进程的周转时间和带权周转时间,并且计算所有进程的平均周转时间和带权平均周转时间; 3)输出:要求模拟整个调度过程,输出每个时刻的进程运行状态,如“时刻3:进程 B 开始运行”等等; 4)输出:要求输出计算出来的每个进程的周转时间、带权周转时间、所有进程的平均周转时间以及带权平均周转时间。 4、需求分析 (1)输入的形式和输入值的范围 时间片真实进程数各进程的到达时间各进程的服务时间

(2)输出的形式模拟整个调度过程、周转时间、带权周转时间、所有进程的平均周转时间以及带权平均周转时间。 (3)测试用例 由于自己自编写代码方面与他人有一定的差距,因此在做实验的过程中我在网上搜了很多相关的资料,了解实现该算法的原理及各部分实现的代码,同时参考了几个别人写好的源代码,然后自己在理解的基础上不断的根据要求修改写程序,不过其中碰见的很多的问题。我已经自己调了好多错误,在一遍遍的调试和修改中,发现自己的经验在快速增长,这个感觉真的很不错。然而,实验的运行结果还不是 很完美,每个进程在最后一个时间片的运行过程中,进程列表的更新总是修改错误。不过在在本次试验中学到了不少东西,一点点的在进 6、测试结果 输入时间片,进程数,进程到达时间,服务时间

简易电子时钟的设计

单片机课程设计报告设计题目:简易电子时钟的设计 院别: 专业班级: 学号:

姓名: 指导教师: 摘要 通过一学期单片机的学习,对其已经有了初步的了解,但是随着社会的不断发展,单片机的应用正在不断地走向深入,它特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。我们也借此课程设计的机会,对单片机有更深一步的了解与学习。 本次课程课程设计的目的是设计一个简易的电子时钟,通过一个8位共阴极数码管进行时、分、秒的显示,另外设置7个按键,一个用来调整小时,一个用来调整分钟,一个开关控制是否调整时间。 关键词:AT89C51,数码管,按键,DS1303时钟芯片

1.概述 本设计是锻炼我们的自学能力合作能力,依靠团队的力量去完成一项具体的任务系统的训练了所学知识,设计的过程必将是难忘的,这也将是大学向社会工作过度的一个重要阶段。 本阶段过后要去能够熟练的运用单片机中的计数器、定时器、中断、数码管显示等参考教材或者相关资料,采用C语言实现数字时钟功能,在数码管上实时显示,并运用Protues软件绘制电路原理图,并进行仿真验证和误差分析。 2.系统总体方案设计 2.1系统方案的确定 用6位数码管,可以显示出时、分、秒;用P2端口控制位选,由定时器进行时间的控制(秒);当总按键按下时可以进行时间调整; 2.2方案分析 2.3系统总框图 图2.1

3.系统硬件系统设计 3.1复位电路 单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程跑飞的时候,按下复位按钮内部的程序自动从头开始执行。 复位电路的工作原理: 在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。单片机复位电路如下图 图3.1 3.2时钟电路 单片机运行需要时钟支持——就像计算机的CPU一样,如果没有时钟电路来产生时钟驱动单片机,那单片机就不能执行程序。 单片机可以看成是在时钟驱动下的时序逻辑电路。 以5l单片机为例随明:51单片机为l2个时钟周期执行一条指令。也就是说单片机运行一条指令,必须要用r2个时钟周期。没有这个时钟,单片机就跑不起来了,也没有办法定时和进行和时间有关的操作。 时钟电路是微型计算机的心脏,它控制着计算机的二个节奏。CPU就是通过复杂的时序电路完成不同的指令功能的。51的时钟信号可以由两种方式产生:一种是内部方式,利用芯片内部的振荡电路,产生时钟信号:另一种为外部方式,时钟信号由外部引入。

java的时间处理续计算java时间)

1. java计算时间依靠1970年1月1日开始的毫秒数. 2. date类的构造函数date()返回代表当前创建的时刻的对象。date的方法gettime()返回一个long值在数值上等于1970年1月1日之前或之后的时刻。 3. dateformat类用来转换date到string,反之亦然。静态方法getdateinstance()返回dateformat的缺省格式;getdateinstance(dateformat.field)返回指定的dateformat对象格式。format(date d)方法返回string表示日期,例如"january 1,2002."反过来,parse(string s)方法返回以参数字符串表示的date对象。 4. format()方法返回的字符串格式根据不同地区的时间设置而有所不同。 5. gregoriancalendear类有两个重要的构造函数:gregoriancalerdar(),返回代表当前创建时间的对象;gregoriancalendar(int year,int month,int date)返回代表任意日期的对象。gregoriancalendar类的gettime()方法返回日期对象。add(int field,int amount)方法通过加或减时间单位,象天数,月数或年数来计算日期。 gregoriancalendar和时间 两个gregoriancalendar的构造函数可以用来处理时间。前者创建一个表示日期,小时和分钟的对象: gregoriancalendar(int year, int month, int date, int hour, int minute) 第二个创建一个表示一个日期,小时,分钟和秒: gregoriancalendar(int year, int month, int date, int hour, int minute, int second) 首先,我应该提醒一下,每一个构造函数需要时间信息中的日期信息(年,月,日)。如果你想说2:30 p.m.,你必须指出日期。 同样,每一个gregoriancalendar构造函数创建一个在时间上使用毫秒计算的对象。所以,如果你的构造函数只提供年,月,日参数,那小时,分钟,秒和毫秒的值将被置0. dateformat和时间 你可以使用静态方法getdatetimeinstance(int datestyle,int timestyle)来建立dateformat对象来显示时间和日期。这个方法表明你想要的日期和时间格式。如果你喜欢使用缺省格式,可以使用getdatetimeinstance()来代替它。 你可以使用静态方法gettimeinstance(int timestyle)创建dateformat对象来显示正确的时间。下面的程序示范了getdatetimeinstance()和gettimeinstance()怎样工作: import java.util.*; import java.text.*; public class apollo { public static void main(string[] args) { gregoriancalendar liftoffapollo11 = new gregoriancalendar(1969, calendar.july, 16, 9, 32); date d = liftoffapollo11.gettime(); dateformat df1 = dateformat.getdatetimeinstance(dateformat.medium, dateformat.medium); dateformat df2 = dateformat.gettimeinstance(dateformat.short); string s1 = df1.format(d); string s2 = df2.format(d);

操作系统课程设计时间片轮转算法java实现

操作系统课程设计时间 片轮转算法j a v a实现 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】

学校代码: 10128 课程设计 题目:处理机管理模拟系统的设计与 实现 学生姓名: 学院:信息工程学院 系别:软件工程系 专业:软件工程 班级: 指导教师:副教授 讲师 2013年1月8日

内蒙古工业大学课程设计任务书(四) 学院(系):信息学院软件工程系课程名称:操作系统课程设计指导教师(签名): 专业班级:学生姓名:学号:

摘要 操作系统是计算机系统的关键组成部分,负责管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本任务。对于不同的系统和系统目标,通常采用不同的调度算法,如在批处理系统中,为照顾为数众多的短作业,采用短作业优先调度算法;在分时系统中,为保证系统具有合理的响应时间,采用时间片轮转法进行调度。采用算法时,则要考虑多方面因素,以便达到最佳效果。本次课程设计采用时间片轮转调度算法来实现模拟进程调度任务的执行过程。 用Java模拟进程调度过程,可以方便地将运行结果直观地表示出来。Java语言独有的多线程操作,可以实现许多其他语言不能实现的功能,极大地方便了程序开发人员对程序的开发。此外,利用JavaGUI编程,可以使系统提供的界面更加友好。实验中,应用文件I/O操作、线程、AWT、Swing、内部类、接口、异常处理等技术,开发此系统。 关键字:时间片轮转; Java编程; GUI图形用户界面;文件操作;

Abstract The operating system is a key component of the computer system, responsible for the management and configuration memory, decided to system resources supply and demand priority, control input and output equipment, operation and management of network file system, and other basic different systems and system target, computers usually use different scheduling algorithm, such as in a Batch Processing System, in order to take care of a lot of short operation, using Short Job First algorithm;In systems with time sharing, to ensure the system has reasonable response time, need time slice Round Robin algorithm for scheduling. The algorithm, we should consider various factors, in order to achieve the best Course Design uses time slice Round Robin algorithm to simulate the process scheduling task execution process. With Java simulation process scheduling process, which can be conveniently will run results intuitively said addition, the use of JavaGUI programming, can make the system to provide the interface more , application file I/O operation, threads, AWT, Swing, internal class, interface, abnormal processing technology, the development of this system. Keywords: time slice Round Robin; Java Programming; ; File Operation;

利用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时钟程序

课 程 设 计 2014 年 6 月 15 日 教 学 院 计算机学院 课程名称 JA V A 课程设计 题 目 时钟程序 专 业 13应用技术 班 级 应用技术(1)班 姓 名 张琳 同组人员 刘敏 陈碧菲 周丹丹 田琼玲 指导教师 伍红华

目录 一.问题分析和任务定义 ..................................... 错误!未定义书签。二.逻辑设计.......................................................... 错误!未定义书签。三.详细设计.......................................................... 错误!未定义书签。四.程序编码.......................................................... 错误!未定义书签。五.程序调试与测试 ............................................. 错误!未定义书签。六.结果分析.......................................................... 错误!未定义书签。 七. 附录 (8) 八. 参考文献 (9)

一.问题分析和任务定义 1.问题分析 此次课程设计的题目为简单的小时钟程序设计,通过做巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK等开发工具的运用,拓宽常用类库的应用。 运用了鼠标的监听和事件的监听以及侦听的技术来时钟的功能。 时钟可以分为:电子时钟,数字时钟。 其中数字时钟包括表盘,数字,指针。用JPanel类来指定布局管理器,同时新增一个功能也是设计需求的功能,可以随时的调时间,运用到鼠标和按钮的监听效果来完成调时间的功能。 2.任务定义 基本功能:打开java工作界面,有很明显的数字时钟在界面上,并且指针在走动,数字钟的显示以本地系统时间而定,一秒钟跳动一次,若本地系统时间发生改变,则数字钟的时、分、秒也随着改变,左上角并拥有与电脑同步的时间日期与星期用数字直接显示出来。 基本实现:定义窗口类继承import javax.swing.JFrame;类并实现ActionListener接口,在窗口类中定义成员变量,用于表示窗口中菜单、文本框,定义成员方法actionPerformed,用于事件处理。 3.任务分工 (1)图形界面设置关闭窗口(田琼玲) (2)显示时钟桌面(陈碧菲) (3)实现接口 runnable的方法run,用来刷新时分秒三指针的度数(刘敏) (4)方法重写绘制钟面各元素(张琳) (5)将电脑时间日期进行同步,并显示出来,用switch语句实现多分支选择结构(周丹丹)

java小闹钟课程设计报告

课程设计(综合实验)报告( 2011 -- 20112 年度第 1 学期) 名称:课程或实验名称 题目:迷你闹钟的设计与实现 院系:经济与管理学院 班级: 学号: 学生姓名: 指导教师: 设计周数:一周 成绩: 日期:2012 年01 月06 日

一、课程设计(综合实验)的目的与要求 设计目的: 通过迷你闹钟的设计和实现,考察学生对JA V A语言的掌握情况,并提高学生对图形用户界面的设计和编程能力。 设计要求: 1.显示时间功能:迷你闹钟可以即时显示当前时间。 2.闹钟功能:能够根据用户设置的时间来提醒用户,可以用声音或者文字进行提醒。 3.时间设置功能:提供菜单来设置时钟的当前时间,和闹钟的提醒时间。 4.界面设计:可模拟真实钟表界面,也可以用数字界面显示。要求美观、实用和个 性化。 二、设计(实验)正文 1.设计迷你闹钟的方法 1.1利用CardLayout布局实现时间界面和设置闹钟界面的转换 1.2在时间界面设置label1和label2实现当前时间的数字化显示,并利用Date类和SimpleDateFormate类实现界面显示“上午好”或“下午好”。在label1上绘 制模拟钟表实现模拟钟表的界面。 1.3在闹钟设置面板上添加当前时间,通过文本框和标签设置需要设置的闹钟的时、分、秒。设置列表框提供闹钟的音乐以供选择。设置开关按钮决定闹钟的 开始和结束 2.遇到问题 2. 1 设置迷你闹钟的界面化时遇到问题通过参考已有的程序加以解决 2. 2 设置“闹铃时间”、“开关按钮”、“背景音乐列表框”时,事件的触发和监控 遇到问题,经过反复修改调试得到解决。 2. 3 闹铃背景音乐格式设置遇到问题,经过调试和格式转换解决 3.待解决问题 闹钟的思想是“北京时间”,所以背景音乐中有《天涯共此时》音乐,界面上有北 京时间等标识本来想在界面上添加一幅具有北京特色的图片做背景,但反复尝试, 遗憾的是均未能成功,添加的背景图片总被上层面板遮挡,希望老师给以指导。 三、课程设计(综合实验)总结或结论 总结图形界面设计由界面设计和事件响应两部分组成,图形界面使得用户和程序之间方便地进行交互。 四、参考文献 [1] 耿祥义,张跃平, java大学实用教程. 电子工业出版社, 第二版. 2008年9月 [2]梁春燕,java课程课件

Java应用 简易闹钟设计

Java应用简易闹钟设计 一、项目概述 应用Java程序设计语言,主要是使用Swing组件、事件处理器、线程控制等实现对简易闹钟的开发设计,设计过程中要求闹钟能够显示当前时间,并且能够设定闹钟的个性铃声,当设定了闹钟时间后,待到设置时间时能够自动播放音乐。 关键词:Java 面向对象闹钟铃声设置 1.1 问题和要求 如何应用Java语言实现对闹钟的简易设计,要求设计实现的闹钟能够显示当前的时间,能够设置个性闹铃,并且可以预先设定闹钟时间,待到设置时间时能够自动播放音乐。 二、设计与开发 2.1 问题分析 1)如何实现闹钟外观的简易设计; 2)如何能够获取当前时间并显示出来; 3)如何查阅文件夹选择音乐文件来实现个性闹铃的设置; 4)如何实现闹钟时间的设定,使闹钟能够在指定时间闹铃。 2.2 程序设计 1)运用Swing组件实现对闹钟的外观设计。主要应用到标签(JLable)、文本域(JTextField)、按钮(JButton)等,采用网格式布局,由网格布局管理器(GridLayout)来实现。 2)创建线程来获取当前时间,主要通过Runnable接口,使用run()方法来实现当前时间的显示。 3)要使按“选择闹铃音乐”按钮时能够触发对音乐文件的选择,则对按钮添加监听器并采用实例化文件选择器。

4)为了能在输入定点时间后实现对闹钟时间的设定,则需要对“确定”按钮添加监听器。 2.3 代码实现 import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.applet.Applet; import java.applet.AudioClip; import java.io.File; import https://www.360docs.net/doc/0f9017655.html,.*; import java.text.SimpleDateFormat; import java.util.Date; public class AlarmClock extends JFrame implements Runnable { JLabel dangqian; JButton queding, xuanze; JTextField music,RI, SHI, FEN, MIAO; int h=0,f=0,m=0,r=0; boolean fo=false; public AudioClip soumd1; public AlarmClock() { Container c = getContentPane(); c.setLayout(new GridLayout(3, 1)); JPanel jp = new JPanel(); dangqian = new JLabel(); jp.add(dangqian); c.add(jp);

电子时钟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(); }

模拟时钟转动程序课程设计报告

《高级语言》课程设计 课题名称模拟时钟转动程序 学院信息工程专业网络工程地点 D507 学生姓名钟都华学号 13046130 开课时间 2013 至 2014 学年第 2 学期 同组人李卓 成绩

一、课程设计的目的和要求 1.课程设计的目的 本程序旨在训练读者的基本编程能力,使读者熟悉C语言图形模式下的编程。本程序中涉及时间结构体、数组、绘图等方面的知识。通过本程序的训练,使读者能对C 语言有一个更深刻的了解,掌握利用C语言相关函数开发电子时钟的基本原理,为进一步开发出高质量的程序打下坚实的基础。 2.课程设计的要求 能模拟机械钟表行走;在屏幕上显示一个活动时钟;程序界面设计合理,色彩得体大方,显示正确;各指针运动规律正确;要准确的利用数字显示日期和时间并且可以根据用户的需求更改当前时间(指针式时钟与数字式时钟实现同步更改);数字式时钟的时间显示与指针式时钟显示一致;可以通过上下键改变当前的时、分、秒;改的时间是小时、分钟、还是秒数;通过Tab键切换按Esc时程序退出。 二、设计 如下图,此电子时钟主要由以下4个功能模块组成。 1.界面显示模块 电子时钟界面显示在调用时钟运行处理之前完成,在这里主要调用了C语言图形系统函数和自负屏幕处理函数画出时钟程序的主界面。主界面包括类似Windows自带的电子时钟的界面和帮助界面两部冯。电子时钟界面包括一个模拟时钟运转的钟表和一个显示时间的数字钟表。在帮助界面中,主要包括一些按键的操作说明。 2.按键控制模块 按键控制模块主要完成两大部分功能。第一,读取用户按键的键值。第二,通过对键盘按键值得判断,执行相应的操作,如光标移动、修改时间。 3.时钟动画处理模块 在时钟动画处理模块中,它通过对相关条件的判断和时钟坐标值的计算,完成时、分、秒指针的擦除和重绘,以达到模拟时钟运转的功能。

《Java语言程序设计》

《Java语言程序设计》模拟试卷A及答案 考试形式:开卷考试时间:120分钟学期: 站点:_________ 姓名:_________ 学号:_________ 成绩:_________ 考试开卷,但只能带教材 一.选择题(30分,每题3分,若注明多选,可选一个或多个选项) 1.JDK开发工具中Java的编译命令是: A. javac B. java C. cmd D. c:\j2sdk\bin 答案:A 2.Java Application中,以下哪个或哪些main()方法的声明是合法的? A. public static void main() B. public static void main(String[] strs) C. public static void main(String args) D. static public int main(String[] args) E. static void main(String[] args) F. 均不正确 答案:B 3.假设有一个二维数组a[10][y],问以下哪个表达式能用来表示第二维的大小y? A. a.length(); B. a.size(); C.a[0].length; D. a.length[10]; E.a[].length; 答案:C 4.将类的成员的访问权限设置为默认的,则该成员能被: A. 同一包中的类访问 B. 其他包中的类访问 C. 所有的类访问 D. 所有类的子类访问 答案:A 5.以下哪些接口的定义是合法的?(多选,2) A.public interface A {int a();} B.public interface B {int a() {}} C.private interface D {} D.abstract interface E {} 答案:A,D

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("闹铃时间");

电子时钟代码

西安邮电大学 硬件课程设计报告 院系名称:计算机学院 学生姓名:王哲 指导老师:杨锐 班级:0901 学号: 时间:

porta equ1400h portb equ1401h portc equ1402h portcontrol equ1403h timer0equ1440h timer1equ1441h timer2equ1442h timer_control equ1443h ;------------------------------------------------------------- data segment ledbuf db3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh;段码 datbuf db00h,00h,00h,00h;存放要显示4位 copybuf db00h,00h,00h,00h data ends ;-------------------------------------------------------------- code segment assume cs:code,ds:data ;--------------------------------------- start:mov ax,data mov ds,ax call read_cmos call p8254 mov dx,portcontrol;将8255设为A\B口输出,A为段码输出,B为位码输出 mov al,10000001B out dx,al ;--------------------------------------------------------------- loop2:call disp mov dx,1402h in al,dx mov bl,al and bl,02h test bl,02h jnz reset mov bh,al and bh,04h test bh,04h

相关文档
最新文档