真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

時(shí)鐘代碼的java編寫 時(shí)鐘代碼的java編寫

怎樣用java 程序?qū)懸粋€(gè)時(shí)鐘程序

面向?qū)ο笏枷雽懗桑?/p>

創(chuàng)新互聯(lián)2013年至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目做網(wǎng)站、網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元芒市做網(wǎng)站,已為上家服務(wù),為芒市各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792

下面是一個(gè)顯示器類

public?class?Display?{

private?int?value;//現(xiàn)在的值

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

}

}

}

下面創(chuàng)建一個(gè)時(shí)鐘對象:

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){//如果分重置,小時(shí)+1

min.increase();

if(min.getValue()?==?0){//如果分重置,小時(shí)+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 寫一個(gè)clock的類,100毫秒的時(shí)鐘 求代碼。。越簡單越好。。最好有注釋

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

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], // 用來表示時(shí)針端點(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)時(shí)針位置

pointHY[0] = -70;

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

for (int i = 0; i 59; i++) // 計(jì)算出各個(gè)數(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(); // 秒針開始計(jì)時(shí)

}

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)); // 獲取時(shí)間中的秒

int h = hour % 12;

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

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

c = h * 5 + munite / 12; // 時(shí)針端點(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("時(shí)鐘");

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畫時(shí)鐘代碼

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時(shí)鐘");

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)建一個(gè)監(jiān)聽事件

setVisible(true);

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

public?void?actionPerformed(ActionEvent?evt){

repaint();

}

};

//創(chuàng)建一個(gè)時(shí)間計(jì)數(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;

//繪制時(shí)鐘上的12個(gè)字

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)在的時(shí)間

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

//在窗體上顯示時(shí)間

g.setColor(Color.pink);

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

g.setColor(Color.blue);

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

//計(jì)算時(shí)間與度數(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));

//擦除時(shí)針

//if(old_h!=hh){

//????g.setColor(getBackground());

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

//}

//繪制時(shí)針

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編寫時(shí)鐘呀?

import

java.util.*;

import

java.awt.*;

import

java.applet.*;

//impelements

Runnable

是線程程序的接口

public

class

Clock

extends

Applet

implements

Runnable

{

Thread

timer

=

null;

//

定義線程實(shí)體timer

int

xcenter

=

400,

ycenter

=

50;

int

Radius

=

ycenter

-

5;

public

void

init()

{

resize(400,

125);//

設(shè)置時(shí)鐘程序的窗口大小

setBackground(Color.white);//

設(shè)置小應(yīng)用程序的背景色

}

public

void

paint(Graphics

g)

{

int

xh,

yh,

xm,

ym,

xs,

ys,

s,

m,

h;

String

today;

Date

dat

=

new

Date();

//

定義時(shí)間類dat

s

=

dat.getSeconds();

//

獲得時(shí)間秒

m

=

dat.getMinutes();

//

獲得時(shí)間分

h

=

dat.getHours();

today

=

dat.toLocaleString();

//

獲得字符串時(shí)間格式

g.clearRect(0,

0,

size().width,

size().height);

//

消除小應(yīng)用程序

xcenter

=

xcenter

-

1;

//

向左移動一個(gè)像素點(diǎn)

if

(xcenter

-50)

xcenter

=

400;

//

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

//

計(jì)算秒的坐標(biāo)

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

//

計(jì)算分鐘的坐標(biāo)

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

//

計(jì)算小時(shí)的坐標(biāo)

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

//

設(shè)置顏色

g.drawString("9",

xcenter

-

(Radius

-

5),

ycenter

+

3);

//

顯示時(shí)鐘上的數(shù)字‘9’

g.drawString("3",

xcenter

+

(Radius

-

10),

ycenter

+

3);

//

顯示時(shí)鐘上的數(shù)字‘3’

g.drawString("12",

xcenter

-

5,

ycenter

-

(Radius

-

13));

//

顯示時(shí)鐘上的數(shù)字'12'

g.drawString("6",

xcenter

-

3,

ycenter

+

(Radius

-

10));

//

顯示時(shí)鐘上的數(shù)字'6'

g.drawString(today,

0,

125);

//

顯示字符串時(shí)鐘

g.drawLine(xcenter,

ycenter,

xs,

ys);

//

畫秒針

g.setColor(Color.blue);

//

設(shè)置顏色

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

//

畫時(shí)針

g.drawLine(xcenter

-

1,

ycenter,

xh,

yh);

//

畫時(shí)針

}

public

void

start()

{

if

(timer

==

null)

{

timer

=

new

Thread(this);

//

生成Thread(多線程程序)的對象實(shí)體

timer.start();

//

啟動生成的線程

}

}

public

void

stop()

{

timer.stop();

//

停止線程的工作

timer

=

null;

//

放掉Thread對象

}

public

void

run()

//

改方法用來定義線程體,一旦線程被啟動執(zhí)行,就開始執(zhí)行這個(gè)方法

{

while

(timer

!=

null)

{

try

{

Thread.sleep(150);

//

使當(dāng)前正在執(zhí)行的線程進(jìn)入睡眠時(shí)間由參數(shù)millis確定,

//

單位時(shí)間是毫秒,當(dāng)這個(gè)時(shí)間過去,線程即可運(yùn)行的

while

(timer

!=

null)

{

try

{

Thread.sleep(150);//

使用當(dāng)前正在執(zhí)行的線程進(jìn)入睡眠時(shí)間由參數(shù)

//

millis確定,單位是毫秒,當(dāng)這個(gè)時(shí)間過去,線程即為可運(yùn)行的

}

catch

(InterruptedException

e)

{

}

repaint();

//

repaint所做的事其實(shí)是去調(diào)用方法uadate重畫效應(yīng)用程序

}

timer

=

null;

}

catch

(InterruptedException

e)

{

}

}

}

//

所做的工作是先將整個(gè)效應(yīng)用程序區(qū)域清除,再去調(diào)用paint,完成重畫的動作

public

void

update(Graphics

g)

{

paint(g);

}

}


新聞名稱:時(shí)鐘代碼的java編寫 時(shí)鐘代碼的java編寫
文章路徑:http://weahome.cn/article/ddosjdj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部