Javaexamples-applet-clock
提供:Dev Guides
Javaの例-アプレットを使用して時計を表示しますか?
問題の説明
アプレットを使用して時計を表示する方法は?
溶液
次の例は、StringクラスのvalueOf()メソッドを使用してクロックを表示する方法を示しています。 &Calenderクラスを使用して、秒、分、時間を取得します。
import java.awt.*;
import java.applet.*;
import java.applet.*;
import java.awt.*;
import java.util.*;
public class ClockApplet extends Applet implements Runnable {
Thread t,t1;
public void start() {
t = new Thread(this);
t.start();
}
public void run() {
t1 = Thread.currentThread();
while(t1 == t) {
repaint();
try {
t1.sleep(1000);
}
catch(InterruptedException e){}
}
}
public void paint(Graphics g) {
Calendar cal = new GregorianCalendar();
String hour = String.valueOf(cal.get(Calendar.HOUR));
String minute = String.valueOf(cal.get(Calendar.MINUTE));
String second = String.valueOf(cal.get(Calendar.SECOND));
g.drawString(hour + ":" + minute + ":" + second, 20, 30);
}
}
結果
上記のコードサンプルは、Java対応のWebブラウザーで次の結果を生成します。
View in Browser.
以下は、アプレットを使用してクロックを表示する別のサンプル例です。
import java.applet.*;
import java.awt.*;
import java.util.*;
import java.text.*;
public class javaApplication6 extends Applet implements Runnable {
Thread t1 = null;
int hours = 0, minutes = 0, seconds = 0;
String time = "";
public void init() {
setBackground( Color.green);
}
public void start() {
t1 = new Thread( this );
t1.start();
}
public void run() {
try {
while (true) {
Calendar cal = Calendar.getInstance();
hours = cal.get( Calendar.HOUR_OF_DAY );
if ( hours > 12 ) hours -= 12;
minutes = cal.get( Calendar.MINUTE );
seconds = cal.get( Calendar.SECOND );
SimpleDateFormat formatter = new SimpleDateFormat("hh:mm:ss");
Date d = cal.getTime();
time = formatter.format( d );
repaint();
t1.sleep( 1000 );
}
}
catch (Exception e) { }
}
public void paint( Graphics g ) {
g.setColor( Color.blue );
g.drawString( time, 50, 50 );
}
}