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

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

java日歷鬧鐘代碼 java顯示日歷編程

java鬧鐘程序代碼

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

成都創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)江寧,10多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18980820575

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

}

}

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編寫的萬(wàn)年歷程序怎么加鬧鐘功能

import java.text.SimpleDateFormat;

import java.util.Calendar;

public class TestDate {

public static final String[] weeks = { "日", "一", "二", "三", "四", "五", "六" };

public static void main(String[] args) {

Calendar c = Calendar.getInstance();

c.set(Calendar.YEAR,2011);//2011年

c.set(Calendar.MONTH,0);//java中Calendar類,月從0開始, 0代表一月

c.set(Calendar.DATE,1);//1號(hào)

int day = c.get(Calendar.DAY_OF_WEEK);//獲致是本周的第幾天地, 1代表星期天...7代表星期六

System.out.println(new SimpleDateFormat( "yyyy-MM-dd ").format(c.getTime()));

System.out.println("星期" + weeks[day-1]);

}

}

把以上測(cè)試代碼寫作一個(gè)方法 方法的參數(shù)名為年月日, 即可。當(dāng)然Calendar 還有很多功能,比如一周的第幾天,一年的第幾個(gè)月……

求java鬧鐘程序源代碼

import java.util.*;

import java.awt.*;

import java.applet.*;

import java.text.*;

import java.awt.event.*;

public class Alarm extends Applet implements Runnable

{

Thread timer=null; //創(chuàng)建線程timer

Image gif1; //clockp:鬧鐘的外殼,鬧鈴和報(bào)時(shí)物

boolean setflag=false,stopflag=false,cancelflag=false;

Panel setpanel;

//獲取聲音文件

AudioClip ring=getAudioClip(getCodeBase(), "1.mid");

Button setbutton=new Button("SET");

Button cancelbutton=new Button("CANCEL");

Button stopbutton=new Button("STOP");

//響應(yīng)按鈕事件

private ActionListener setli=new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

setflag=true;

}

};

private ActionListener cancelli=new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

setflag=true;

}

};

private ActionListener stopli=new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

ring.stop();

//清除的方法

//g.clearRect(83,280,20,30);

}

};

Label note1=new Label("Alarm clock:");

//GregorianCalendar提供的是一個(gè)日歷式的東東,上面又多了很多的參數(shù),是方便操作了不少。而Date類的功能遠(yuǎn)不及其,求個(gè)和日期有聯(lián)系的還要自己計(jì)算。

GregorianCalendar cal=new GregorianCalendar();

GregorianCalendar cal2=new GregorianCalendar();

SimpleDateFormat df=new SimpleDateFormat("yyyy MM dd HH:mm:ss");//設(shè)置時(shí)間格式

Date dummy=new Date(); //生成Data對(duì)象

String lastdate=df.format(dummy);

Font F=new Font("TimesRoman",Font.PLAIN,14);//設(shè)置字體格式

Date dat=null;

Date timeNow;

Color fgcol=Color.blue;

Color fgcol2=Color.darkGray;

Color backcolor=Color.blue;

Label hlabel2,mlabel2,slabel2;//顯示時(shí)間單位時(shí)所用的標(biāo)簽(時(shí)、分、秒)

int i;

int s,m,h;

TextField sethour,setmin,setsec;//顯示當(dāng)前時(shí)間文本框和定時(shí)文本框

//在Applet程序中,首先自動(dòng)調(diào)用初始化完成必要的初始化工作,緊接著自動(dòng)調(diào)用start,在進(jìn)入執(zhí)行程序和返回到該頁(yè)面時(shí)被調(diào)用,而從該頁(yè)面轉(zhuǎn)到別的頁(yè)面時(shí),stop被調(diào)用,關(guān)閉瀏覽器時(shí),執(zhí)行destroy。

public void init()//初始化方法

{

int fieldx=50,fieldy1=120,fieldy2=220,fieldw=30,fieldh=20,space=50;//顯示時(shí)間和定時(shí)文本框的定位參數(shù)

setLayout(null); //將布局管理器初始化為null

setpanel=new Panel();

setpanel.setLayout(null);

setpanel.add(note1);

note1.setBounds(30,100,60,20);

note1.setBackground(backcolor);

note1.setForeground(Color.black);

//定時(shí)用的文本框(時(shí)、分、秒)

sethour=new TextField("00",5);

setmin=new TextField("00",5);

setsec=new TextField("00",5);

hlabel2=new Label();

mlabel2=new Label();

slabel2=new Label();

//定時(shí)的小時(shí)文本框的位置、大小

setpanel.add(sethour);

sethour.setBounds(fieldx,fieldy2,fieldw,fieldh);

sethour.setBackground(Color.white);

//在文本框后加入單位“時(shí)”

setpanel.add(hlabel2);

hlabel2.setText("h");

hlabel2.setBackground(backcolor);

hlabel2.setForeground(Color.black);

hlabel2.setBounds(fieldx+fieldw+3,fieldy2,14,20);

fieldx=fieldx+space;

//定時(shí)的分鐘文本框的位置、大小

setpanel.add(setmin);

setmin.setBounds(fieldx,fieldy2,fieldw,fieldh);

setmin.setBackground(Color.white);

//在文本框后加入單位“分”

setpanel.add(mlabel2);

mlabel2.setText("m");

mlabel2.setBackground(backcolor);

mlabel2.setForeground(Color.black);

mlabel2.setBounds(fieldx+fieldw+3,fieldy2,14,20);

fieldx=fieldx+space;

//定時(shí)的秒文本框的位置、大小

setpanel.add(setsec);

setsec.setBounds(fieldx,fieldy2,fieldw,fieldh);

setsec.setBackground(Color.white);

//在文本框后加入單位“秒”

setpanel.add(slabel2);

slabel2.setText("s");

slabel2.setBackground(backcolor);

slabel2.setForeground(Color.black);

slabel2.setBounds(fieldx+fieldw+3,fieldy2,14,20);

//設(shè)置鬧鐘控制按鈕(on,off)

setpanel.add(cancelbutton);

setpanel.add(setbutton);

setpanel.add(stopbutton);

cancelbutton.setBounds(90,180,40,20);

setbutton.setBounds(140,180,40,20);

stopbutton.setBounds(522,180,40,20);

setbutton.addActionListener(setli);

cancelbutton.addActionListener(cancelli);

stopbutton.addActionListener(stopli);

stopbutton.setVisible(false);

//將面板加入當(dāng)前容器中,并設(shè)置面板的大小和背景色

add(setpanel);

setpanel.setBounds(300,1,250,420);

setpanel.setBackground(backcolor);

/*int xcenter,ycenter,s,m,h;

//鬧鐘中心點(diǎn)所在位置

xcenter=145;

ycenter=162;

s=(int)cal.get(Calendar.SECOND);

m=(int)cal.get(Calendar.MINUTE);

h=(int)cal.get(Calendar.HOUR_OF_DAY);

//初始化指針位置

lastxs=(int)(Math.cos(s*3.14f/30-3.14f/2)*30+xcenter);

lastys=(int)(Math.sin(s*3.14f/30-3.14f/2)*30+ycenter);

lastxm=(int)(Math.cos(m*3.14f/30-3.14f/2)*25+xcenter);

lastym=(int)(Math.sin(m*3.14f/30-3.14f/2)*25+ycenter);

lastxh=(int)(Math.cos((h*30+m/2)*3.14f/180-3.14f/2)*18+xcenter);

lastyh=(int)(Math.sin((h*30+m/2)*3.14f/180-3.14f/2)*18+ycenter);

lasts=s; */

MediaTracker mt=new MediaTracker(this);//為給定組件創(chuàng)建一個(gè)跟蹤媒體的MediaTracker對(duì)象,把圖片添加到被跟蹤的圖片組

//Java允?Sapplet??HTML所在的位置(decument base)下?d?Y料,也允?Sapplet?鈉涑淌醬a所在的位置(code base)下?d?Y料。藉由呼叫g(shù)etDocumentBase()?cgotCodeBase()可得到URL物件。?@些函?????湍閼業(yè)僥閬胂螺d的?n案的位置

//clockp=getImage(getDocumentBase(),"11.png");

gif1=getImage(getCodeBase(),"2.gif");

//i為id號(hào)

mt.addImage(gif1,i++);

try

{

mt.waitForAll();

}

catch(InterruptedException e)

{};//等待加載結(jié)束

resize(600,420);//設(shè)置窗口大小

}

//窗口顯示有改變的時(shí)候調(diào)用paint

public void paint(Graphics g)

{//重寫paint()方法

int xh,yh,xm,ym,xs,ys,strike_times;

int xcenter,ycenter;

String today;

xcenter=148;

ycenter=186;

dat=new Date();

//用當(dāng)前時(shí)間初始化日歷時(shí)間

cal.setTime(dat);

//讀取當(dāng)前時(shí)間

s=(int)cal.get(Calendar.SECOND);

m=(int)cal.get(Calendar.MINUTE);

h=(int)cal.get(Calendar.HOUR_OF_DAY);

//換一種時(shí)間表達(dá)形式

today=df.format(dat);

//指針位置

xs=(int)(Math.cos(s*3.14f/30-3.14f/2)*30+xcenter);

ys=(int)(Math.sin(s*3.14f/30-3.14f/2)*30+ycenter);

xm=(int)(Math.cos(m*3.14f/30-3.14f/2)*25+xcenter);

ym=(int)(Math.sin(m*3.14f/30-3.14f/2)*25+ycenter);

xh=(int)(Math.cos((h*30+m/2)*3.14f/180-3.14f/2)*12+xcenter);

yh=(int)(Math.sin((h*30+m/2)*3.14f/180-3.14f/2)*12+ycenter);

//設(shè)置字體和顏色

g.setFont(F);

//前景色

g.setColor(getBackground()); //取背景色的

g.drawImage(gif1,75,110,this);

//以數(shù)字方式顯示年、月、日和時(shí)間

g.drawString(today,55,415);

//畫指針

g.drawLine(xcenter,ycenter,xs,ys);

g.drawLine(xcenter,ycenter-1,xm,ym); //(x1,y1,x2,y2)

g.drawLine(xcenter-1,ycenter,xm,ym);

g.drawLine(xcenter,ycenter-1,xh,yh);

g.drawLine(xcenter-1,ycenter,xh,yh);

int timedelta;//記錄當(dāng)前時(shí)間與鬧鈴定時(shí)的時(shí)差

Integer currh,currm,currs;//分別記錄當(dāng)前的時(shí)、分、秒

Date dat2=new Date();

cal2.setTime(dat2);

//讀取當(dāng)前時(shí)間

currh=(int)cal2.get(Calendar.SECOND);

currm=(int)cal2.get(Calendar.MINUTE);

currs=(int)cal2.get(Calendar.HOUR_OF_DAY);

//這樣做的話說(shuō)我API已過(guò)時(shí)

//timeNow=new Date();

//currh=new Integer(timeNow.getHours());

//currm=new Integer(timeNow.getMinutes());

//currs=new Integer(timeNow.getSeconds());

if(setflag)

{ //判斷是否設(shè)置了鬧鐘

//判斷當(dāng)前時(shí)間是否為鬧鐘所定的時(shí)間

if((currh.intValue()==Integer.valueOf(sethour.getText()).intValue())(currm.intValue()==Integer.valueOf(setmin.getText()).intValue())(currs.intValue()==Integer.valueOf(setsec.getText()).intValue()))

{

ring.play();

g.drawImage(gif1,83,280,this);

stopbutton.setVisible(true);

}

timedelta=currm.intValue()*60+currs.intValue()-Integer.valueOf(setmin.getText()).intValue()*60-Integer.valueOf(setsec.getText()).intValue();

if((timedelta=30))

{

//若當(dāng)前時(shí)間與鬧鐘相差時(shí)間超過(guò)30秒,鬧鐘自動(dòng)停

ring.stop();

//清除的方法

g.clearRect(83,280,20,30);

}

}

dat=null;

}

public void start()

{

if(timer==null)

{

timer=new Thread(this);//將timer實(shí)例化

timer.start();

}

}

public void stop()

{

timer=null;

}

//給創(chuàng)建線程后start之后自動(dòng)執(zhí)行的函數(shù)

public void run()

{

//在run()方法中,調(diào)用repaint()方法,以重繪小程序區(qū),進(jìn)行時(shí)鐘顯示的更新。接著調(diào)用sleep方法讓當(dāng)前線程(也就是我們創(chuàng)建的線程clockthread)睡眠1000毫秒,因?yàn)槲覀兠棵腌娨乱幌嘛@示,所以讓它睡眠1秒

while(timer!=null)

{

try

{

timer.sleep(1000);

}

catch(InterruptedException e)

{}

//調(diào)用repaint時(shí),會(huì)首先清除掉paint方法之前的畫的內(nèi)容,再調(diào)用paint方法

repaint();//刷新畫面

}

timer=null;

}

//當(dāng)AWT接收到一個(gè)applet的重繪請(qǐng)求時(shí),它就調(diào)用applet的 update(),默認(rèn)地,update() 清除applet的背景,然后調(diào)用 paint()。重載 update(),將以前在paint()中的繪圖代碼包含在update()中,從而避免每次重繪時(shí)將整個(gè)區(qū)域清除

//有兩種方法可以明顯地減弱閃爍:重載 update()或使用雙緩沖。

//使用雙緩沖技術(shù):另一種減小幀之間閃爍的方法是使用雙緩沖,它在許多動(dòng)畫Applet中被使用。其主要原理是創(chuàng)建一個(gè)后臺(tái)圖像,將需要繪制的一幀畫入圖像,然后調(diào)用DrawImage()將整個(gè)圖像一次畫到屏幕上去;好處是大部分繪制是離屏的,將離屏圖像一次繪至屏幕上比直接在屏幕上繪制要有效得多,大大提高做圖的性能。

// 雙緩沖可以使動(dòng)畫平滑,但有一個(gè)缺點(diǎn),要分配一張后臺(tái)圖像,如果圖像相當(dāng)大,這將需要很大一塊內(nèi)存;當(dāng)你使用雙緩沖技術(shù)時(shí),應(yīng)重載 update()。

public void update(Graphics g)

{

Image offscreen_buf=null;

//采用雙緩沖技術(shù)的update()方法

if(offscreen_buf==null)

offscreen_buf=createImage(600,420);

Graphics offg=offscreen_buf.getGraphics();

offg.clipRect(1,1,599,419);

paint(offg);

Graphics ong=getGraphics();

ong.clipRect(1,1,599,419);

ong.drawImage(offscreen_buf,0,0,this);

}

/** Creates a new instance of AlarmClock */

}


網(wǎng)頁(yè)名稱:java日歷鬧鐘代碼 java顯示日歷編程
文章URL:http://weahome.cn/article/doojojg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部