?? alarmapplet.java
字號:
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.util.*;
//鬧鐘
public class AlarmApplet extends Applet implements Runnable{
TextField tfHour,tfMinute,tfSecond,tfNowHour,tfNowMinute,tfNowSecond; //顯示和輸入信息的文本域
Button btStart,btStop; //打開和關閉鬧鐘按鈕
Thread alarm; //鬧鐘線程
boolean turnOn; //是否打開
public void init(){
turnOn=true; //初始化參數
Panel panel2=new Panel(); //實例化面板
Panel panel3=new Panel();
Panel panel4=new Panel();
tfHour=new TextField(1); //增加組件到面板上
tfMinute=new TextField(1);
tfSecond=new TextField(1);
tfNowHour=new TextField(1);
tfNowMinute=new TextField(1);
tfNowSecond=new TextField(1);
btStart=new Button("開");
btStop=new Button("關");
panel2.add(new Label("當前時間:"));
panel2.add(tfNowHour);
panel2.add(new Label("時"));
panel2.add(tfNowMinute);
panel2.add(new Label("分"));
panel2.add(tfNowSecond);
panel2.add(new Label("秒"));
panel3.add(new Label("鬧鐘時間:"));
panel3.add(tfHour);
panel3.add(new Label("時"));
panel3.add(tfMinute);
panel3.add(new Label("分"));
panel3.add(tfSecond);
panel3.add(new Label("秒"));
panel4.add(new Label("鬧鐘設置"));
panel4.add(btStart);
panel4.add(btStop);
add(panel2); //增加組件到Applet上
add(panel3);
add(panel4);
btStart.addActionListener(new ActionListener(){ //打開鬧鐘按鈕事件處理
public void actionPerformed(ActionEvent event){
turnOn=true; //設置打開標志為True
}
});
btStop.addActionListener(new ActionListener(){ //關閉鬧鐘按鈕事件處理
public void actionPerformed(ActionEvent event){
turnOn=false; //設置打開標志為false
}
});
}
public void start(){
if (alarm==null){
alarm=new Thread(this); //實例化線程
alarm.start(); //運行線程
}
}
public void run(){
while (alarm!=null){
try{
alarm.sleep(1000); //線程休眠一秒
}
catch (InterruptedException ex){
}
runAlarm(); //運行鬧鐘
}
}
private void runAlarm(){
Calendar now=new GregorianCalendar(); //得到日歷對象
int hour=now.get(Calendar.HOUR_OF_DAY); //得到小時數
int minute=now.get(Calendar.MINUTE); //得到分數
int second=now.get(Calendar.SECOND); //得到分數
tfNowHour.setText(Integer.toString(hour)); //更新時間顯示文本域
tfNowMinute.setText(Integer.toString(minute));
tfNowSecond.setText(Integer.toString(second));
if (turnOn){ //如果鬧鐘是打開的
int alarmHour=-1,alarmMinute=-1;
String time=tfHour.getText(); //得到設置的鬧鐘小時數
if (time!=null && !time.equals(""))
alarmHour=Integer.parseInt(time);
time=tfMinute.getText();
if (time!=null && !time.equals("")) //得到設置的鬧鐘分鐘數
alarmMinute=Integer.parseInt(time);
if (alarmHour!=-1 && alarmMinute!=-1){
if (hour==alarmHour){ //比較時間
if (minute==alarmMinute){
AudioClip sound=getAudioClip(getDocumentBase(),"alarm.wav"); //取得聲音文件
sound.play(); //播放聲音
turnOn=false;
}
}
}
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -