62,614
社区成员
发帖
与我相关
我的任务
分享
import java.awt.BorderLayout;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Clock{
public SimpleDateFormat sdf;
public String timeString;
public static void main(String[] args){
JFrame frame=new JFrame("yuzhenghzong clock!");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300,300);
new Thread(new startClock()).start();
JLabel label=new JLabel(timeString,JLabel.CENTER);
frame.add(label,BorderLayout.CENTER);
frame.setVisible(true);
}
class startClock implements Runnable{
public void run() {
// TODO Auto-generated method stub
while(true){
sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
timeString = sdf.format(new Date());
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
import java.awt.Color;
import java.util.*;
import java.awt.*;
import java.applet.*;
public class Clock extends Applet implements Runnable {
private static final long serialVersionUID = 1L;
Thread timer = null;
Label label;
int lastxs = 50, lastys = 30, lastxm = 50, lastym = 30, lastxh = 50,
lastyh = 30;
public void init() {
label = new Label(" ");
setBackground(Color.white);
add(label);
}
@SuppressWarnings("deprecation")
public void paint(Graphics g) {
int xh, yh, xm, ym, xs, ys, s, m, h, xcenter, ycenter;
Date rightnow = new Date();
String today = rightnow.toLocaleString();
label.setText(today);
s = rightnow.getSeconds();
m = rightnow.getMinutes();
h = rightnow.getHours();
xcenter = 100;
ycenter = 80;
xs = (int) (Math.cos(s * 3.14f / 30 - 3.14f / 2) * 45 + xcenter);
ys = (int) (Math.sin(s * 3.14f / 30 - 3.14f / 2) * 45 + ycenter);
xm = (int) (Math.cos(m * 3.14f / 30 - 3.14f / 2) * 45 + xcenter);
ym = (int) (Math.sin(m * 3.14f / 30 - 3.14f / 2) * 45 + ycenter);
xh = (int) (Math.cos((h * 30 + m * 2) * 3.14f / 180 - 3.14f / 2) * 30 + xcenter);
yh = (int) (Math.sin((h * 30 + m * 2) * 3.14f / 180 - 3.14f / 2) * 30 + ycenter);
g.setFont(new Font("TimesToman", Font.PLAIN, 14));
g.setColor(Color.orange);
g.fill3DRect(xcenter - 50, ycenter - 50, 100, 100, true);
g.setColor(Color.darkGray);
g.drawString("12", xcenter - 5, ycenter - 37);
g.drawString("3", xcenter + 40, ycenter + 3);
g.drawString("6", xcenter - 3, ycenter + 45);
g.drawString("9", xcenter - 45, ycenter + 3);
g.setColor(Color.orange);
if (xs != lastxs || ys != lastys) {
g.drawLine(xcenter, ycenter, lastxs, lastys);
}
if (xm != lastxm || ym != lastym) {
g.drawLine(xcenter, ycenter - 1, lastxm, lastym);
g.drawLine(xcenter - 1, ycenter, lastxm, lastym);
}
if (xh != lastxh || yh != lastyh) {
g.drawLine(xcenter, ycenter - 1, lastxh, lastyh);
g.drawLine(xcenter - 1, ycenter, lastxh, lastyh);
}
g.setColor(Color.red);
g.drawLine(xcenter, ycenter, xs, ys);
g.drawLine(xcenter, ycenter - 1, xm, ym);
g.drawLine(xcenter - 1, ycenter, xm, ym);
g.drawLine(xcenter, ycenter - 1, xh, yh);
g.drawLine(xcenter - 1, ycenter, xh, yh);
lastxs = xs;
lastys = ys;
lastxm = xm;
lastym = ym;
lastxh = xh;
lastyh = yh;
}
public void start() {
if (timer == null) {
timer = new Thread(this);
timer.start();
}
}
public void stop() {
timer = null;
}
public void run() {
while (timer != null) {
try {
Thread.sleep(1000);
} catch (InterruptedException ie) {
}
repaint();
}
timer = null;
}
public void update(Graphics g) {
paint(g);
}
}
import java.awt.BorderLayout;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Clock{
private SimpleDateFormat sdf;
private JLabel label;
public Clock(){
JFrame frame=new JFrame("yuzhenghzong clock!");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300,300);
new Thread(new startClock()).start();
label=new JLabel("",JLabel.CENTER);
frame.add(label,BorderLayout.CENTER);
frame.setVisible(true);
}
public static void main(String[] args){
Clock cl=new Clock();
}
class startClock implements Runnable{
public void run() {
// TODO Auto-generated method stub
while(true){
sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
label.setText( sdf.format(new Date()));
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
这叫时钟不叫闹钟吧