?? timer60.java
字號:
/*Timer60.java*/
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Timer60 extends JPanel
{ protected void init()
{ tmt=null;
if(cntl==null)
cntl=new TimerControls(this,Color.cyan);
if(face==null)
face=new TimerFace(Color.blue);
face.set(m,s);
myBorder();
setLayout(new BorderLayout());
add(face,BorderLayout.CENTER);
add(cntl,BorderLayout.SOUTH);
if(tk==null)
tk=Toolkit.getDefaultToolkit();
}
private void myBorder()
{ setBorder(BorderFactory.createCompoundBorder
( BorderFactory.createEmptyBorder(20,10,10,20),
BorderFactory.createLineBorder(Color.blue)));
}
public int getMinute(){ return m; }
public int getSecond(){ return s; }
public void set(int min,int sec)
{ if(min<0|| sec<0) return;
pause();
m=Math.min(min,60);
if(m==60) s=0;
else s=Math.min(sec,59);
face.set(m,s); //upadate display
}
public void countDown()
{ tick(); //down one second
face.set(m,s); //redisplay
}
protected void tick()
{ if(s<=0)
{ if(m<=0)
{ ring(); //buzzer
pause();
cntl.startButton();
return;
}
s=59;m--;
}
else s--;
return;
}
protected void ring()
{ try
{ tk.beep();
Thread.sleep(400);
tk.beep();
Thread.sleep(400);
tk.beep();
}catch(InterruptedException e) {}
}
public boolean beginEnd()
{ if(tmt==null)
{ if(s<=0&&m<=0) return false;
tmt=new Quartz(this);
tmt.tref(tmt);
tmt.start();
return true;
}
pause();
return false;
}
public void pause()
{ if(tmt!=null)
{tmt.tref(null);tmt=null;}
}
protected void go(JFrame win)
{ win.setContentPane(this);
win.addWindowListener(new WindowHandler(win));
win.setSize(220,136);
win.validate();
win.setVisible(true);
}
private static final class WindowHandler extends WindowAdapter
{
public WindowHandler(JFrame f) {fr=f;}
public void windowClosing(WindowEvent e)
{ fr.setVisible(false);
fr.dispose();
System.exit(0);
}
private JFrame fr;
}
public static void main(String[] args)
{ Timer60 tm=new Timer60();
tm.init();
tm.go(new JFrame("Timer"));
}
protected TimerFace face;
protected TimerControls cntl;
protected int m=0,s=0;
protected Quartz tmt=null;
protected Toolkit tk;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -