参考下这里的时钟吧,这是一个能在JFrame上显示当前时间的表,并且能随着时间的流动,一秒一秒的移动秒针.如果你想更美观一点还可以在表的中间加一些时间数字.希望能对你有帮助.
六合网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。成都创新互联公司2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联。
-----------------------------Clock.java-----------
import java.awt.*;
public class Clock {
private int hour;
private int minute;
private int second;
public Clock(){
}
public Clock(int hrs,int min,int sec){
hour =hrs % 12;
minute = min;
second = sec;
}
void show (Graphics g,int cx,int cy,int rad){
int hourLenght = (int)(rad * 0.5);//时针的长度
int minuteLenght = (int)(rad * 0.6);//分针的长度
int secondLenght = (int)(rad * 0.9);//秒针的长度
double angle;//角度
//画出钟面
g.drawOval(cx-rad, cy - rad, rad * 2, rad * 2);
//画出时针
angle = (double)(hour*60*60 + minute*60 + second)/43200.0*2.0*Math.PI;
drawNiddle(g,Color.blue, cx, cy, hourLenght,angle);
//画分针
angle = (double)(minute*60 + second)/3600 * 2.0 * Math.PI;
drawNiddle(g,Color.blue, cx, cy, minuteLenght,angle);
// 画秒针
angle = (double)(second)/60*2.0*Math.PI;
drawNiddle(g,Color.blue, cx, cy, secondLenght,angle);
}
private void drawNiddle(Graphics g ,Color c,int x,int y,int len,double angle){
int ex = (int)(x + len * Math.sin(angle));
int ey = (int)(y - len * Math.cos(angle));
g.setColor(c);
g.drawLine(x,y,ex,ey);
}
}
----------------ClockTest1.java---------------------
import javax.swing.*;
import java.awt.*;
import java.util.*;
public class ClockTest1 extends JFrame{
/**
* @param args
*/
private Clock clock ;
private Date timeNow;
public ClockTest1(){
super("时钟");
setSize(400,400);
setVisible(true);
}
public void paint(Graphics g){
super.paint(g);
timeNow = new Date();
clock = new Clock(timeNow.getHours(),timeNow.getMinutes(),timeNow.getSeconds());
clock.show(g,170,150,100);
try{
//for(int i =0 ; i 10 ; i += 10)
Thread.sleep(1000);
}catch(InterruptedException e){
}
repaint();
}
public static void main(String[] args) {
// TODO 自动生成方法存根
ClockTest1 appication = new ClockTest1();
appication.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
线程调用start()方法之后,这个线程就是可运行状态,可运行状态的线程并不一定直接就运行,它的运行前提条件有很多,比方说,优先级,访问内容是否加锁且被别的线程访问。 可运行状态之后的状态就是运行状态了,可运行和运行无非是可运行状态等待机会运行线程。 就好比参加百米赛跑的选手,等待鸣枪起跑一样。
线程调用start()方法之后,这个线程就是可运行状态,可运行状态的线程并不一定直接就运行,它的运行前提条件有很多,比方说,优先级,访问内容是否加锁且被别的线程访问。
可运行状态之后的状态就是运行状态了,可运行和运行无非是可运行状态等待机会运行线程。
就好比参加百米赛跑的选手,等待鸣枪起跑一样。
大的if else是判断是否进入决赛,判断点在于时间是否在10秒以内
在10秒以内的人员中再判断性别即可
of else的关系应该是
if 时间小于10{if 男生{今日男子组}else if 女生{今日女子组}else{性别错误}}
else{未进决赛}