java电子时钟代码,java课程设计电子时钟代码

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()),

label2=new JLabel("

");

public Test(){

super("TIME");

Container c=this.getContentPane();

c.setLayout(new FlowLayout());

c.add(label1);c.add(label2);

t.start();

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setBounds(200,200,200,100);

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报时

if(calendar.get(Calendar.SECOND)=5){//持续5秒报时

if(calendar.get(Calendar.SECOND)%2==0)

label2.setText("现在是北京时间"+calendar.get(Calendar.HOUR_OF_DAY)+"点整。");

if(calendar.get(Calendar.SECOND)%2==1)

label2.setText("

");

}

}

}

public static void main (String[] args) {

new Test();

}

}

用java编写一个电子时钟程序。每秒显示一次当前的时间。

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.util.*;

import java.util.concurrent.*;

public class Clock extends JFrame implements Runnable {

private JLabel label = new JLabel();

public Clock() {

this("Q6");

label.setFont(new Font("Dialog", Font.BOLD, 72));

flush();

this.add(label);

this.pack();

ExecutorService exec = Executors.newCachedThreadPool();

exec.execute(this);

}

public static void main(String[] args) {

Clock c = new Clock();

c.setVisible(true);

}

private void flush() {

String strTime = String.format("%tT", new Date());

label.setText(strTime);

}

public void run() {

while(true) {

flush();

try {

Thread.sleep(1000);

} catch(Exception e) {}

}

}

}

急 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.*;

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;

final double RAD = Math.PI/180;

public ClockPointer(){

super("Java时钟");

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

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

setIconImage(image);

setSize(400,400);

setBackground(Color.white);

//setLocation(300,150);

this.setLocationRelativeTo(null);

setResizable(true);

int delay = 1000;

//创建一个监听事件

setVisible(true);

ActionListener drawClock = new ActionListener(){

public void actionPerformed(ActionEvent evt){

repaint();

}

};

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

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

Graphics2D g2D = (Graphics2D)g;

Insets insets = getInsets();

int L = insets.left/2, T = insets.top/2;

h = getSize().height;

g.setColor(Color.white);

//画圆

g2D.setStroke(new BasicStroke(2.0f));

g.setColor(Color.gray);

g.drawOval(L+40, T+40, h-80, h-80);

r = h/2 - 40;

x0 = 40 + r - 5 + L;

y0 = 40 + r - 5 - T;

ang = 60;

//绘制时钟上的12个字

for(int i = 1;i = 12;i ++){

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

ang -=30;

}

//获得现在的时间

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

g.fillRect(L, T, 50, 28);

g.setColor(Color.blue);

g.drawString(st,L+2,T+26);

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

ss = 90 - nows*6;

mm = 90 - nowm*6;

hh = 90 - nowh*30 - nowm/2;

x0 = r+40+L;

y0 = r+40+T;

g2D.setStroke(new BasicStroke(1.2f));

//擦除秒针

//if(olds_x  0){

//    g.setColor(getBackground());

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

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

//}

//绘制秒针

x = (int)(r*0.9*Math.cos(RAD*ss))+x0;

y = (int)(r*0.9*Math.sin(RAD*ss))+y0-2*T;

g.setColor(Color.yellow);

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

olds_x = x;

olds_y = y;

g2D.setStroke(new BasicStroke(2.2f));

//擦除分针

//if(old_m!=mm){

//    g.setColor(getBackground());

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

//}

//绘制分针

x = (int)(r*0.7*Math.cos(RAD*mm))+x0;

y = (int)(r*0.7*Math.sin(RAD*mm))+y0-2*T;

g.setColor(Color.green);

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

oldm_x = x;

oldm_y = y;

old_m = mm;

g2D.setStroke(new BasicStroke(3.2f));

//擦除时针

//if(old_h!=hh){

//    g.setColor(getBackground());

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

//}

//绘制时针

x = (int)(r*0.5*Math.cos(RAD*hh))+x0;

y = (int)(r*0.5*Math.sin(RAD*hh))+y0-2*T;

g.setColor(Color.red);

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

oldh_x = x;

oldh_y = y;

old_h = hh;

}

public static void main(String[] args){

new ClockPointer();

}

}

//整理一下


名称栏目:java电子时钟代码,java课程设计电子时钟代码
URL链接:http://myzitong.com/article/phigpi.html