「java课设电子时钟」java实现时间时钟
本篇文章给大家谈谈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课设电子时钟的信息别忘了在本站进行查找喔。
发布于:2022-12-22,除非注明,否则均为
原创文章,转载请注明出处。