java鐘上時刻點(diǎn)的代碼 java時鐘程序代碼

JAVA畫時鐘代碼

import?java.awt.*;

創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的羅莊網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

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;

//創(chuàng)建一個監(jiān)聽事件

setVisible(true);

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

public?void?actionPerformed(ActionEvent?evt){

repaint();

}

};

//創(chuàng)建一個時間計數(shù)器,每一秒觸發(fā)一次

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;

}

//獲得現(xiàn)在的時間

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

//計算時間與度數(shù)的關(guān)系

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 寫一個clock的類,100毫秒的時鐘 求代碼。。越簡單越好。。最好有注釋

這里有一個時鐘的類,你看一下吧,不明白你的 100毫秒的時鐘 是什么意思。

import java.awt.BasicStroke;

import java.awt.BorderLayout;

import java.awt.Canvas;

import java.awt.Color;

import java.awt.Graphics;

import java.awt.Graphics2D;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.geom.Line2D;

import java.util.Date;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.Timer;

public class ClockAs extends Canvas implements ActionListener {

static JButton jb = new JButton("開始");

static JButton jb1 = new JButton("暫停");

Date date;

Timer secondTime;

int hour, munite, second;

Line2D secondLine, muniteLine, hourLine;

int a, b, c;

double pointSX[] = new double[60],// 用來表示秒針端點(diǎn)坐標(biāo)的數(shù)組

pointSY[] = new double[60], pointMX[] = new double[60], // 用來表示分針端點(diǎn)坐標(biāo)的數(shù)組

pointMY[] = new double[60], pointHX[] = new double[60], // 用來表示時針端點(diǎn)坐標(biāo)的數(shù)組

pointHY[] = new double[60];

ClockAs() {

secondTime = new Timer(1000, this);

pointSX[0] = 0; // 12點(diǎn)秒針位置

pointSY[0] = -100;

pointMX[0] = 0; // 12點(diǎn)分針位置

pointMY[0] = -90;

pointHX[0] = 0; // 12點(diǎn)時針位置

pointHY[0] = -70;

double angle = 6 * Math.PI / 180; // 刻度為6度

for (int i = 0; i 59; i++) // 計算出各個數(shù)組中的坐標(biāo)

{

pointSX[i + 1] = pointSX[i] * Math.cos(angle) - Math.sin(angle)

* pointSY[i];

pointSY[i + 1] = pointSY[i] * Math.cos(angle) + pointSX[i]

* Math.sin(angle);

pointMX[i + 1] = pointMX[i] * Math.cos(angle) - Math.sin(angle)

* pointMY[i];

pointMY[i + 1] = pointMY[i] * Math.cos(angle) + pointMX[i]

* Math.sin(angle);

pointHX[i + 1] = pointHX[i] * Math.cos(angle) - Math.sin(angle)

* pointHY[i];

pointHY[i + 1] = pointHY[i] * Math.cos(angle) + pointHX[i]

* Math.sin(angle);

}

for (int i = 0; i 60; i++) {

pointSX[i] = pointSX[i] + 120; // 坐標(biāo)平移

pointSY[i] = pointSY[i] + 120;

pointMX[i] = pointMX[i] + 120; // 坐標(biāo)平移

pointMY[i] = pointMY[i] + 120;

pointHX[i] = pointHX[i] + 120; // 坐標(biāo)平移

pointHY[i] = pointHY[i] + 120;

}

secondLine = new Line2D.Double(0, 0, 0, 0);

muniteLine = new Line2D.Double(0, 0, 0, 0);

hourLine = new Line2D.Double(0, 0, 0, 0);

secondTime.start(); // 秒針開始計時

}

public void paint(Graphics g) {

for (int i = 0; i 60; i++) // 繪制表盤上的小刻度和大刻度

{

int m = (int) pointSX[i];

int n = (int) pointSY[i];

if (i % 5 == 0) {

g.setColor(Color.red);

g.fillOval(m - 4, n - 4, 8, 8);

} else {

g.setColor(Color.cyan);

g.fillOval(m - 2, n - 2, 4, 4);

}

}

g.fillOval(115, 115, 10, 10); // 鐘表中心的實(shí)心圓

Graphics2D g_2d = (Graphics2D) g;

g_2d.setColor(Color.red);

g_2d.draw(secondLine);

BasicStroke bs = new BasicStroke(3f, BasicStroke.CAP_ROUND,

BasicStroke.JOIN_MITER);

g_2d.setStroke(bs);

g_2d.setColor(Color.blue);

g_2d.draw(muniteLine);

bs = new BasicStroke(6f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER);

g_2d.setStroke(bs);

g_2d.setColor(Color.green);

g_2d.draw(hourLine);

}

public void actionPerformed(ActionEvent e) {

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

date = new Date();

String s = date.toString();

hour = Integer.parseInt(s.substring(11, 13));

munite = Integer.parseInt(s.substring(14, 16));

second = Integer.parseInt(s.substring(17, 19)); // 獲取時間中的秒

int h = hour % 12;

a = second; // 秒針端點(diǎn)的坐標(biāo)

b = munite; // 分針端點(diǎn)的坐標(biāo)

c = h * 5 + munite / 12; // 時針端點(diǎn)的坐標(biāo)

secondLine.setLine(120, 120, (int) pointSX[a], (int) pointSY[a]);

muniteLine.setLine(120, 120, (int) pointMX[b], (int) pointMY[b]);

hourLine.setLine(120, 120, (int) pointHX[c], (int) pointHY[c]);

repaint();

}

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

secondTime.start();

}

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

secondTime.stop();

}

}

public static void main(String args[]) {

JFrame win = new JFrame("時鐘");

JPanel jp = new JPanel();

jp.add(jb);

jp.add(jb1);

ClockAs clock = new ClockAs();

jb.addActionListener(clock);

jb1.addActionListener(clock);

win.add(clock, BorderLayout.CENTER);

win.add(jp, "South");

win.setVisible(true);

win.setSize(246, 300);

win.setDefaultCloseOperation(3);

win.validate();

}

}

java程序 時鐘 整點(diǎn)報時代碼

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)//當(dāng)分鐘為0報時

if(calendar.get(Calendar.SECOND)=5){//持續(xù)5秒報時

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

label2.setText("現(xiàn)在是北京時間"+calendar.get(Calendar.HOUR_OF_DAY)+"點(diǎn)整。");

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

label2.setText("

");

}

}

}

public static void main (String[] args) {

new Test();

}

}

求java的計時器代碼,應(yīng)該比較簡單的,來看看吧。

package?test;

import?java.util.*;

import?java.awt.*;

import?java.awt.event.*;

import?java.applet.*;

public?class?Test5?extends?Applet?{

private?final?Panel?pan?=?new?Panel();

private?final?Label?time?=?new?Label();

private?final?Button?btnGo?=?new?Button("開始");

private?final?Button?btnPouse?=?new?Button("暫停");

private?final?Button?btnReset?=?new?Button("復(fù)位");

private?final?StopwatchThread?swThread?=?new?StopwatchThread();

private?class?btnGoListener?implements?ActionListener?{

public?void?actionPerformed(ActionEvent?e)?{

???

swThread.go();

btnGo.setEnabled(false);

}

}

private?class?btnPouseListener?implements?ActionListener?{

public?void?actionPerformed(ActionEvent?e)?{

???if(btnGo.isEnabled()){

???return?;

???}

?if?(btnPouse.getLabel().equals("繼續(xù)"))?{

swThread.go();

btnPouse.setLabel("暫停");

}?else?if?(btnPouse.getLabel().equals("暫停"))?{

swThread.noGo();

btnPouse.setLabel("繼續(xù)");

}

}

}

private?class?btnResetListener?implements?ActionListener?{

public?void?actionPerformed(ActionEvent?e)?{

swThread.reset();

btnGo.setEnabled(true);

btnGo.setLabel("開始");

btnPouse.setLabel("暫停");

}

}

private?class?StopwatchThread?extends?Thread?{

private?boolean?going?=?false;

private?long?prevElapsed?=?0;

private?Date?startDate?=?new?Date();

private?long?elapsedTime()?{

return?prevElapsed?+

(going???new?Date().getTime()?-?startDate.getTime()?:?0);

}

private?String?msToString(long?time)?{

???System.out.println(time+"??"+((0*60+2)*1000+999));

if(((99*60+59)*1000+983)=time((99*60+59)*1000+999)=time){//((0*60+2)*1000+983)=time((0*60+2)*1000+999)=time

if?(time?%?1000??990)

time?+=?2;

swThread.noGo();

}

String?ms,?sec,?min;

if?(time?%?10?=?5)

time?+=?5;

ms?=?Long.toString(time?%?1000);

while?(ms.length()??3)

ms?=?"0"?+?ms;

ms?=?ms.substring(0,?ms.length()?-?1);

time?/=?1000;

sec?=?Long.toString(time?%?60);

if?(sec.length()?==?1)?sec?=?"0"?+?sec;

time?/=?60;

min?=?Long.toString(time);

return?min?+?":"?+?sec?+?"."?+?ms;

}

public?void?go()?{

startDate?=?new?Date();

going?=?true;

}

public?void?noGo()?{

prevElapsed?=?elapsedTime();

going?=?false;

}

public?void?reset()?{

going?=?false;

prevElapsed?=?0;

}

public?void?run()?{

while?(true)?{

time.setText(msToString(elapsedTime()));

yield();

}

}

}

public?void?init()?{

setLayout(new?GridLayout(2,2));

setBackground(Color.lightGray);

setForeground(Color.black);

pan.setLayout(new?GridLayout(3,2));

pan.add(new?Label("計時:"));

time.setForeground(Color.blue);

pan.add(time);

pan.add(btnGo);

pan.add(btnPouse);

pan.add(btnReset);

pan.add(new?Label());

add(pan);

btnGo.addActionListener(new?btnGoListener());

btnReset.addActionListener(new?btnResetListener());

btnPouse.addActionListener(new?btnPouseListener());

swThread.setDaemon(true);

swThread.start();

}

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

Test5?applet?=?new?Test5();

Frame?aFrame?=?new?Frame("計時器");

aFrame.addWindowListener(new?WindowAdapter()?{

public?void?windowClosing(WindowEvent?e)?{

System.exit(0);

}

});

aFrame.add(applet,?BorderLayout.CENTER);

aFrame.setSize(400,?200);

applet.init();

applet.start();

aFrame.setVisible(true);

}

}

可以改變有注釋的那個if語句里面的值來判斷什么時候停止

java鬧鐘程序代碼

搞不懂為什么要匿名提問,真的那么怕笑話,不至于吧!

import java.util.Timer;

import java.util.Date;

import java.text.SimpleDateFormat;

public class Alarm

{

public static void main(String[] args)

{

Timer timer = new Timer();

try{

timer.schedule(new task(),1000,1000);

}

catch(IllegalStateException e)

{

System.out.println("時間到");

}

}

static class task extends java.util.TimerTask

{

public void run()

{

Date now = new Date();

SimpleDateFormat time = new SimpleDateFormat("HH:mm:ss");

if(time.format(now).toString.equals("23:27:00"))

this.cancel();

else

System.out.println(time.format(now));

}

}

}

JAVA 編寫時鐘程序

分太少了啊

給你一個只實(shí)現(xiàn)了時鐘的面板。

import java.util.*;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.Timer;

public class Clock extends JFrame implements ActionListener

{

private static final long serialVersionUID = 6790815213225162093L;

Timer timer;

int x,y,old_X,old_Y, r,x0,y0,w,h,ang;

int sdo,mdo,hdo,old_M,old_H;

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

final double RAD=Math.PI/180.0;

public Clock()

{

super("時鐘");

setSize(300,300);

setBackground(new Color(0,0,192));

setResizable(false);

Dimension scr=Toolkit.getDefaultToolkit().getScreenSize();

Dimension fra=this.getSize();

if(fra.widthscr.width)

{

fra.width=scr.width;

}

if(fra.heightscr.height)

{

fra.height=scr.height;

}

this.setLocation((scr.width-fra.width)/2,(scr.height-fra.height)/2);

setVisible(true);

int delay = 1000;

ActionListener taskPerformer = new ActionListener()

{

public void actionPerformed(ActionEvent evt)

{

repaint();

}

};

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

}

public void actionPerformed(ActionEvent e)

{

timer.restart();

}

public void paint( Graphics g )

{

Insets insets = getInsets();

int L0 = (insets.left)/2, T0 = (insets.top)/2;

int hh,mm,ss;

String st;

h=getSize().height;

g.setColor(Color.white);

g.drawOval(L0+30,T0+30,h-60,h-60);

g.drawOval(L0+32,T0+32,h-64,h-64);

r=h/2-30;

x0=30+r-5+L0;

y0=30+r-5-T0;

ang=60;

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.drawString(""+i,x,h-y);

ang-=30;

}

x0=30+r+L0; y0=30+r+T0;

Calendar now=Calendar.getInstance();

hh=now.get(Calendar.HOUR_OF_DAY);

mm=now.get(Calendar.MINUTE);

ss=now.get(Calendar.SECOND);

g.setColor(Color.pink);

g.fillRect(L0,T0,60,28);

g.setColor(Color.blue);

if (hh 10) st="0"+hh; else st=""+hh;

if (mm 10) st=st+":0"+mm; else st=st+":"+mm;

if (ss 10) st=st+":0"+ss; else st=st+":"+ss;

g.drawString(st,L0,T0+25);

sdo=90-ss*6;

mdo=90-mm*6;

hdo=90-hh*30-mm/2;

if (old_X 0)

{

g.setColor(getBackground());

g.drawLine(x0,y0,old_X,(h-old_Y));

} else

{

old_M=mdo;

old_H=hdo;

}

g.setColor(Color.yellow);

x=(int)((r-8)*Math.cos(RAD*sdo)+x0);

y=(int)((r-8)*Math.sin(RAD*sdo)+y0)-2*T0;

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

old_X=x;

old_Y=y;

if (mdo != old_M)

{

line(g,old_M,(int)(r*0.7),getBackground());

old_M=mdo;

}

if (hdo != old_H)

{

line(g,old_H,(int)(r*0.5),getBackground());

old_H=hdo;

}

line(g,mdo,(int)(r*0.7),Color.green);

line(g,hdo,(int)(r*0.5),Color.red);

}

public void line(Graphics g, int t, int n, Color c)

{

int [] xp = new int[4];

int [] yp = new int[4];

xp[0]=x0;

yp[0]=y0;

xp[1]= (int)((n-10)*Math.cos(RAD*(t-4))+x0);

yp[1]=h-(int)((n-10)*Math.sin(RAD*(t-4))+y0);

xp[2]= (int)( n *Math.cos(RAD* t )+x0);

yp[2]=h-(int)( n *Math.sin(RAD* t )+y0);

xp[3]= (int)((n-10)*Math.cos(RAD*(t+4))+x0);

yp[3]=h-(int)((n-10)*Math.sin(RAD*(t+4))+y0);

g.setColor(c);

g.fillPolygon(xp,yp,4);

}

public static void main(String args[])

{

new Clock();

}

}

當(dāng)前標(biāo)題:java鐘上時刻點(diǎn)的代碼 java時鐘程序代碼
網(wǎng)站路徑:http://www.muchs.cn/article30/hggdpo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)網(wǎng)站設(shè)計、外貿(mào)網(wǎng)站建設(shè)、服務(wù)器托管、自適應(yīng)網(wǎng)站網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管