「java课设电子时钟」java实现时间时钟

博主:adminadmin 2022-12-22 09:57:07 59

本篇文章给大家谈谈java课设电子时钟,以及java实现时间时钟对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

急 java电子时钟问题

你还是用我这个吧,也可以参考一下

package awt;

import java.awt.*;

import java.applet.*;

import java.util.Date; //这是Java中的低级实用工具包,可以处理时间等内容。

public class display_clock extends Applet implements Runnable // 有线程运行接口

{

Date timenow; // Date是一个时间定义与创建函数.

Clock myClock; // 用户自定义的类

Thread clockthread = null; // 设置一个线程

public void start() // 线程开始的类

{

if (clockthread == null) // 如果线程为空,则

{

clockthread = new Thread(this); // 开始新的线程

clockthread.start(); // 开始

}

}

public void stop() // 终止线程

{

clockthread.stop(); // 终止线程,使它

clockthread = null; // 为空

}

public void run() // 运行线程

{

while (true) // 一个死循环,条件永远都是真的。

{

repaint(); // 重新绘制界面

try {

Thread.sleep(1000);

} // 让线程沉睡1000毫秒,也就是一秒钟

catch (InterruptedException e) {

} // 捕获异常(也就是错误)

}

}

public void paint(Graphics g)

{

timenow = new Date(); // 新的时间的获得

// 获得小时,分钟,秒钟

myClock = new Clock(timenow.getHours(), timenow.getMinutes(), timenow

.getSeconds());

g.drawString(timenow.toString(), 25, 240);// 将它打印出来!

myClock.show(g, 100, 100, 100); // 使面板显示

}

}

class Clock // 用户自定义的类开始,编译后,它单独成为一个CLASS文件

{

Clock(int hrs, int min, int sec) // 类函数入口

{

hour = hrs % 12; // 将原始数据处理,得到小时

minute = min; // 将原始数据处理,得到分钟

second = sec; // 将原始数据处理,得到小时

}

void show(Graphics g, int cx, int cy, int rad) // 重新定义SHOW函数

{

int hrs_len = (int) (rad * 0.5), // 时针的长度

min_len = (int) (rad * 0.6), // 分钟的长度

sec_len = (int) (rad * 0.9); // 秒钟的长度

double theta;

// 画出钟面

g.drawOval(cx - rad, cy - rad, rad * 2, rad * 2);

// 画出时针

theta = (double) (hour * 60 * 60 + minute * 60 + second) / 43200.0

* 2.0 * Math.PI;

drawNiddle(g, Color.blue, cx, cy, hrs_len, theta);

// 画出分针

theta = (double) (minute * 60 + second) / 3600.0 * 2.0 * Math.PI;

drawNiddle(g, Color.red, cx, cy, sec_len, theta);

// 画出秒针

theta = (double) (second) / 60.0 * 2.0 * Math.PI;

drawNiddle(g, Color.green, cx, cy, sec_len, theta);

}

private void drawNiddle(Graphics g, Color c, int x, int y, int len,

double theta)

{

int ex = (int) (x + len * Math.sin(theta));

int ey = (int) (y - len * Math.cos(theta));

g.setColor(c);

g.drawLine(x, y, ex, ey);

}

int hour, minute, second;

}

如何用Java中做一个电子时钟

import java.awt.Color;

import java.awt.Font;

import java.util.Date;

import javax.swing.JFrame;

import javax.swing.JLabel;

public class MyTime {

JFrame frame=null;

JLabel label=null;

public MyTime(){

frame=new JFrame("时钟");

label=new JLabel();

label.setFont(new Font("幼圆",1,40));

label.setBackground(Color.BLUE);

frame.add(label);

frame.setSize(200,90);

frame.setLocation(500,300);

frame.setVisible(true);

}

public static void main(String[] args) {

MyTime mt=new MyTime();

new TimeThread(mt).start();

}

}

class TimeThread extends Thread{

private MyTime mt;

public TimeThread(MyTime mt){

this.mt=mt;

}

public void run(){

while(true){

String fullTime=new Date().toString();

String time=fullTime.substring(11, 19);

mt.label.setText(time);

mt.label.repaint();

try {

sleep(1000);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

}

怎么用java编写时钟呀?

import

java.util.*;

import

java.awt.*;

import

java.applet.*;

//impelements

Runnable

是线程程序的接口

public

class

Clock

extends

Applet

implements

Runnable

{

Thread

timer

=

null;

//

定义线程实体timer

int

xcenter

=

400,

ycenter

=

50;

int

Radius

=

ycenter

-

5;

public

void

init()

{

resize(400,

125);//

设置时钟程序的窗口大小

setBackground(Color.white);//

设置小应用程序的背景色

}

public

void

paint(Graphics

g)

{

int

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);

//

消除小应用程序

xcenter

=

xcenter

-

1;

//

向左移动一个像素点

if

(xcenter

-50)

xcenter

=

400;

//

如果xcenter小于-50,则回到初始位置

//

计算秒的坐标

xs

=

(int)

(Math.cos(s

*

3.14f

/

30

-

3.14f

/

2)

*

(Radius

-

5)

+

xcenter);

ys

=

(int)

(Math.sin(s

*

3.14f

/

30

-

3.14f

/

2)

*

(Radius

-

5)

+

ycenter);

//

计算分钟的坐标

xm

=

(int)

(Math.cos(m

*

3.14f

/

30

-

3.14f

/

2)

*

(Radius

-

10)

+

xcenter);

ym

=

(int)

(Math.sin(m

*

3.14f

/

30

-

3.14f

/

2)

*

(Radius

-

10)

+

ycenter);

//

计算小时的坐标

xh

=

(int)

(Math.cos((h

*

30

+

m

/

2)

*

3.14f

/

180

-

3.14f

/

2)

*

(Radius

-

20)

+

xcenter);

yh

=

(int)

(Math.sin((h

*

30

+

m

/

2)

*

3.14f

/

180

-

3.14f

/

2)

*

(Radius

-

20)

+

ycenter);

g.setColor(Color.darkGray);

//

设置颜色

g.drawString("9",

xcenter

-

(Radius

-

5),

ycenter

+

3);

//

显示时钟上的数字‘9’

g.drawString("3",

xcenter

+

(Radius

-

10),

ycenter

+

3);

//

显示时钟上的数字‘3’

g.drawString("12",

xcenter

-

5,

ycenter

-

(Radius

-

13));

//

显示时钟上的数字'12'

g.drawString("6",

xcenter

-

3,

ycenter

+

(Radius

-

10));

//

显示时钟上的数字'6'

g.drawString(today,

0,

125);

//

显示字符串时钟

g.drawLine(xcenter,

ycenter,

xs,

ys);

//

画秒针

g.setColor(Color.blue);

//

设置颜色

g.drawArc(xcenter

-

Radius,

ycenter

-

Radius,

2

*

Radius,

2

*

Radius,

0,

360);

//

画钟

g.drawLine(xcenter,

ycenter

-

1,

xm,

ym);

//

画分针

g.drawLine(xcenter

-

1,

ycenter,

xm,

ym);

//

画分针

g.drawLine(xcenter,

ycenter

-

1,

xh,

yh);

//

画时针

g.drawLine(xcenter

-

1,

ycenter,

xh,

yh);

//

画时针

}

public

void

start()

{

if

(timer

==

null)

{

timer

=

new

Thread(this);

//

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

timer.start();

//

启动生成的线程

}

}

public

void

stop()

{

timer.stop();

//

停止线程的工作

timer

=

null;

//

放掉Thread对象

}

public

void

run()

//

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

{

while

(timer

!=

null)

{

try

{

Thread.sleep(150);

//

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

//

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

while

(timer

!=

null)

{

try

{

Thread.sleep(150);//

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

//

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

}

catch

(InterruptedException

e)

{

}

repaint();

//

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

}

timer

=

null;

}

catch

(InterruptedException

e)

{

}

}

}

//

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

public

void

update(Graphics

g)

{

paint(g);

}

}

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

面向对象思想写成:

下面是一个显示器类

public class Display {

private int value;//现在的值

private int limit;//上限值

Display( int limit) {

this.limit = limit;

}

public void increase() {

value++;

if(value == limit) {

value = 0;

}

}

public int getValue() {

return value;

}

public static void main(String[] args) {

Display d = new Display(24);

for(;;) {

d.increase();

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

}

}

}

下面创建一个时钟对象:

public class Clock {

private Display h = new Display(24);

private Display min = new Display(60);

private Display s = new Display(60);

public void start () {

for(;;) {

s.increase();

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

min.increase();

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

h.increase();

}

}

System.out.printf("%02d:%02d:%02d\n",h.getValue(), min.getValue(),s.getValue());//格式输出

}

}

public static void main(String[] args) {

Clock clock = new Clock();

clock.start();

}

java课设电子时钟的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java实现时间时钟、java课设电子时钟的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-22,除非注明,否则均为首码项目网原创文章,转载请注明出处。