网站首页 > 文章中心 > 其它

java的时钟代码

作者:小编 更新时间:2023-08-08 13:44:46 浏览量:450人看过

怎样用java 程序写一个时钟程序

面向对象思想写成:

下面是一个显示器类

public?class?Display?{

private?int?value;//现在的值

java的时钟代码-图1

private?int?limit;//上限值

Display(?int?limit)?{

this.limit?=?limit;

}

public?void?increase()?{

value++;

java的时钟代码-图2

if(value?==?limit)?{

value?=?0;

public?int?getValue()?{

return?value;

public?static?void?main(String[]?args)?{

for(;;)?{

d.increase();

System.out.println(d.getValue());

下面创建一个时钟对象:

public?class?Clock?{

public?void?start?()?{

s.increase();

if(s.getValue()?==?0){//如果分重置,小时+1

min.increase();

if(min.getValue()?==?0){//如果分重置,小时+1

h.increase();

Clock?clock?=?new?Clock();

clock.start();

java程序 时钟 整点报时代码

import java.awt.*;

import java.util.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.Timer;

public class Test extends JFrame implements ActionListener{

Timer t=new Timer(1000,this);

GregorianCalendar calendar=new GregorianCalendar();

JLabel label1=new JLabel(new Date().toString()),

");

public Test(){

super("TIME");

Container c=this.getContentPane();

c.setLayout(new FlowLayout());

t.start();

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

public void actionPerformed(ActionEvent e){

Date date=new Date();

calendar.setTime(date);

if(e.getSource()==t){

label1.setText(date.toString());

if(calendar.get(Calendar.MINUTE)==0)//当分钟为0报时

public static void main (String[] args) {

new Test();

怎么用java编写时钟呀?

import

java.util.*;

java.awt.*;

java.applet.*;

//impelements

Runnable

是线程程序的接口

public

class

Clock

extends

Applet

implements

{

Thread

timer

=

null;

//

定义线程实体timer

int

xcenter

ycenter

Radius

-

void

init()

设置时钟程序的窗口大小

setBackground(Color.white);//

设置小应用程序的背景色

paint(Graphics

g)

xh,

yh,

xm,

ym,

xs,

ys,

s,

m,

h;

String

today;

Date

dat

new

Date();

定义时间类dat

s

dat.getSeconds();

获得时间秒

m

dat.getMinutes();

获得时间分

h

dat.getHours();

today

dat.toLocaleString();

获得字符串时间格式

g.clearRect(0,

0,

size().width,

size().height);

消除小应用程序

向左移动一个像素点

if

(xcenter

计算秒的坐标

xs

(int)

(Math.cos(s

*

/

(Radius

+

xcenter);

ys

(Math.sin(s

ycenter);

计算分钟的坐标

xm

(Math.cos(m

①.0)

ym

(Math.sin(m

计算小时的坐标

xh

(Math.cos((h

yh

(Math.sin((h

g.setColor(Color.darkGray);

设置颜色

①.0),

①.0));

g.drawString(today,

显示字符串时钟

g.drawLine(xcenter,

ycenter,

ys);

画秒针

g.setColor(Color.blue);

g.drawArc(xcenter

Radius,

画钟

ym);

画分针

g.drawLine(xcenter

yh);

画时针

start()

(timer

==

null)

Thread(this);

生成Thread(多线程程序)的对象实体

timer.start();

启动生成的线程

java的时钟代码-图3

stop()

timer.stop();

停止线程的工作

放掉Thread对象

run()

改方法用来定义线程体,一旦线程被启动执行,就开始执行这个方法

while

!=

try

使当前正在执行的线程进入睡眠时间由参数millis确定,

单位时间是毫秒,当这个时间过去,线程即可运行的

使用当前正在执行的线程进入睡眠时间由参数

millis确定,单位是毫秒,当这个时间过去,线程即为可运行的

catch

(InterruptedException

e)

repaint();

repaint所做的事其实是去调用方法uadate重画效应用程序

所做的工作是先将整个效应用程序区域清除,再去调用paint,完成重画的动作

update(Graphics

paint(g);

JAVA画时钟代码

import?java.awt.*;

import?java.awt.event.*;

import?javax.swing.*;

import?sun.util.calendar.Gregorian;

import?java.util.Calendar;

import?java.util.GregorianCalendar;

public?class?ClockPointer?extends?JFrame{

int?x,?y,?x0,?y0,?r,?h,?olds_x,?olds_y,?oldm_x,?oldm_y,?oldh_x,?oldh_y,?

ss,mm,?hh,?old_m,?old_h,?ang;

public?ClockPointer(){

super("Java时钟");

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Image?image?=?getToolkit().getImage("clock.gif");

setIconImage(image);

setBackground(Color.white);

this.setLocationRelativeTo(null);

setResizable(true);

int?delay?=?1000;

//创建一个监听事件

setVisible(true);

ActionListener?drawClock?=?new?ActionListener(){

public?void?actionPerformed(ActionEvent?evt){

};

//创建一个时间计数器,每一秒触发一次

new?Timer(delay,?drawClock).start();

java.text.SimpleDateFormat?fmTime?=?new?java.text.SimpleDateFormat("HH:mm:ss");

//绘制图形

public?void?paint(Graphics?g){

super.paint(g);

g.setFont(null);

Insets?insets?=?getInsets();

h?=?getSize().height;

g.setColor(Color.white);

//画圆

g.setColor(Color.gray);

x?=?(int)((r+10)*Math.cos(RAD*ang)+x0);

y?=?(int)((r+10)*Math.sin(RAD*ang)+y0);

g.setColor(Color.black);

g.drawString(""+i,?x,?h-y);

//获得现在的时间

Calendar?now?=?new?GregorianCalendar();

int?nowh?=?now.get(Calendar.HOUR_OF_DAY);

int?nowm?=?now.get(Calendar.MINUTE);

int?nows?=?now.get(Calendar.SECOND);

String?st=fmTime.format(now.getTime());

//在窗体上显示时间

g.setColor(Color.pink);

//计算时间与度数的关系

//擦除秒针

//if(olds_x?0){

//?g.setColor(getBackground());

//?//?g.setColor(Color.gray);

//?g.drawLine(x0,?y0,?olds_x,?h-olds_y);?//?(?)

//}

//绘制秒针

g.setColor(Color.yellow);

g.drawLine(x0,?y0,?x,?h-y);

olds_x?=?x;

olds_y?=?y;

//擦除分针

//if(old_m!=mm){

//?g.drawLine(x0,y0,oldm_x,h-oldm_y);

//绘制分针

g.setColor(Color.green);

g.drawLine(x0,y0,x,h-y);

oldm_x?=?x;

oldm_y?=?y;

old_m?=?mm;

//擦除时针

//if(old_h!=hh){

//?g.drawLine(x0,y0,oldh_x,h-oldh_y);

//绘制时针

g.setColor(Color.red);

oldh_x?=?x;

oldh_y?=?y;

old_h?=?hh;

public?static?void?main(String[]?args){

new?ClockPointer();

//整理一下

以上就是土嘎嘎小编为大家整理的java的时钟代码相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章