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

java小时钟代码

作者:小编 更新时间:2023-09-23 11:24:26 浏览量:233人看过

用JAVA编一个小闹钟

import java.awt.*;

import java.awt.event.*;

import java.util.*;

import javax.swing.*;

import javax.swing.Timer;

public class Clock extends JFrame implements ActionListener {

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;

JButton jb;

JMenuBar jmb;

Timer timer;

TimeZone tz = TimeZone.getTimeZone("JST");

Toolkit toolkit=Toolkit.getDefaultToolkit();;

/**

* br

* 方法说明:实现ActionListener类必须过载的方法

*/

public static void main(String[] args) {

Clock cp = new Clock();

cp.setVisible(true);

}

Clock() {

super("Java闹钟!");

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

setVisible(true);

Container contentPane = getContentPane();

jmb = new JMenuBar();

jm1 = new JMenu("背景颜色设置 ", true);

jmi1 = new JMenuItem("外圈颜色");

jmi1.addActionListener(this);

jmi1.setActionCommand("color1");

jm1.add(jmi1);

jmb.add(jm1);

jmi10=new JMenuItem("使用说明");

jmi10.addActionListener(this);

jmi10.setActionCommand("help");

jl1 = new JLabel("闹铃时间");

alarm = time.getText();

jb = new JButton("修改闹铃时间");

jb.addActionListener(this);

jb.setActionCommand("CC");

ClockPanel clock = new ClockPanel();

contentPane.add(clock, BorderLayout.CENTER);

// 窗体添加事件监听,监听秒表的触发

ActionListener taskPerformer = new ActionListener() {

public void actionPerformed(ActionEvent evt) {

repaint();

};

new Timer(delay, taskPerformer).start();

* 方法说明:绘制图形

Color C1 = Color.lightGray;// 外圈颜色

public class ClockPanel extends JPanel {

public void paint(Graphics g) {

// 绘制圆形

g.setColor(C1);

x = (int) ((r - 10) * Math.cos(RAD * ang) ◆ x0);

y = (int) ((r - 10) * Math.sin(RAD * ang) ◆ y0);

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

// 获取时间

now = Calendar.getInstance();

hh = now.get(Calendar.HOUR_OF_DAY);// 小时

mm = now.get(Calendar.MINUTE);// 分钟

ss = now.get(Calendar.SECOND);// 秒

if (hh 10)

st = "0" ◆ hh;

else

st = "" ◆ hh;

if (mm 10)

st = st ◆ ":0" ◆ mm;

st = st ◆ ":" ◆ mm;

if(alarm.equals(st))

{

if(toolkit!=null)

toolkit.beep();

else {}

if (ss 10)

st = st ◆ ":0" ◆ ss;

st = st ◆ ":" ◆ ss;

// 计算时间和图形的关系

// 擦除秒针

if (old_X 0) {

} else {

old_M = mdo;

old_H = hdo;

// 绘制秒针

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

old_X = x;

old_Y = y;

// 擦除分针和时针

if (mdo != old_M) {

if (hdo != old_H) {

// 绘制分针

// 绘制时针

} // end paint

// 闹铃时间的判断及实现

// 闹铃声音的实现

public void actionPerformed(ActionEvent e) {

// JMenuItem m = (JMenuItem) e.getSource();

if (e.getActionCommand() == "CC") {

int newHou, newMin;

char c;

String getTime = JOptionPane.showInputDialog(this, "请输入闹铃时间格式如:", "00:00");

//如果撤消设置时间,就什么打印null

if(getTime==null)

System.out.println(getTime);

// dispose();

judge: if (getTime != null) {

//打印输入的设置的时间

JOptionPane.ERROR_MESSAGE);

break judge;

// 判断输入的是不是数字

for (int i = 0; i (getTime.length()); i◆◆) {

c = getTime.charAt(i);

continue;

// 判断当前字符,如果不是数字则跳出该事件

"Error",JOptionPane.ERROR_MESSAGE);

char[] hour = { getTime.charAt(0), getTime.charAt(1) };

newHou = Integer.parseInt(String.valueOf(hour));

newMin = Integer.parseInt(String.valueOf(minute));

"Error", JOptionPane.ERROR_MESSAGE);

new SetTime(newHou, newMin);

if (e.getActionCommand() == "ring1") {

toolkit=Toolkit.getDefaultToolkit();

System.out.println("静音");

toolkit=null;

if (e.getActionCommand() == "color1") {

String color;

Color c;

System.out.println("color1");

if (color == null) {

if (Integer.parseInt(color) 0

else {

c = new Color(Integer.parseInt(color));

C1 = c;

if(color==null){}

if(e.getActionCommand() == "help"){

String help;

help = JOptionPane.showInputDialog(this, "输入quit退出该闹钟的使用", "这是运行在Java中的指针式时钟");

if(help.equals("quit"))

dispose();

else {}

// timer.restart();

class SetTime {

String Hour;

String Minute;

public SetTime() { }

public SetTime(int hour, int minute) {

// 当时间参数小于10的时候在前面添加字符0

if (hour 10) {

Hour = "0" ◆ String.valueOf(hour);

Hour = "" ◆ String.valueOf(hour);

if (minute 10) {

Minute = "0" ◆ String.valueOf(minute);

Minute = "" ◆ String.valueOf(minute);

alarm = Hour ◆ ":" ◆ Minute;

time.setText(alarm);

怎样用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)?{

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

//创建一个监听事件

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

g.setColor(Color.blue);

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

//擦除秒针

//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编写时钟呀?

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.drawArc(xcenter

Radius,

画钟

ym);

画分针

g.drawLine(xcenter

yh);

画时针

start()

(timer

==

null)

Thread(this);

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

timer.start();

启动生成的线程

stop()

timer.stop();

停止线程的工作

放掉Thread对象

run()

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

while

!=

try

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

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

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

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

catch

(InterruptedException

e)

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

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

update(Graphics

paint(g);

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

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

编辑推荐

热门文章