Heure systeme dans jframe

Description

Salut tt le monde, ce code en JAVA permet d'afficher l'heure de systéme dans une interface.

Source / Exemple :


import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;

class Heure extends JFrame
{
	private int heure,vraiHeure,min,seconde;
	private int[] x2={200,209,217,225,233,240,248,254,260,265,270,
					274,277,278,279,280,279,278,277,274,270,
					265,260,254,248,240,233,225,217,209,200,
					192,184,176,168,160,153,147,141,136,130,
					127,124,122,121,120,121,122,124,127,130,
					136,141,147,153,160,168,176,184,192};
	private int[] y2={70,71,72,74,77,80,86,91,97,103,110,
					118,126,134,142,150,159,167,175,183,190,
					197,204,209,214,220,224,227,228,229,230,
					229,228,227,224,220,214,209,204,197,190,
					183,175,167,159,150,142,134,126,118,110,
					103,97,91,86,80,77,74,72,71};
	private int[] Tx2={195,240,270,280,270,240,195,155,125,115,120,150};
	private int[] Ty2={70,80,110,155,195,225,240,225,195,155,115,80};
	private int[] Hx2={200,207,213,220,225,230,236,240,244,247,248,249,
					250,249,248,247,244,236,230,225,213,220,213,207,200,
					194,188,181,175,170,165,161,157,154,152,151,150,151,
					152,154,157,161,165,170,175,181,188,194};
	private int[] Hy2={100,101,102,104,107,111,115,120,125,131,138,144,150,
					157,163,170,175,181,186,190,194,197,198,199,200,
					199,198,197,194,190,186,181,175,170,163,157,150,144,
					138,131,125,120,115,111,107,104,102,101};
	private final int x1 = 200,y1 = 150;
	private boolean quar=true,demi=true,moinquar=true;
	
	public Heure()
	{
		super("Heure");
		setBounds(300,200,400,300);
		Container con = getContentPane();
		con.setLayout(null);
		Date date = new Date();
		System.out.println(Hx2.length);
		System.out.println(Hy2.length);
		setDefaultCloseOperation(this.EXIT_ON_CLOSE);
		heure = date.getHours();
		vraiHeure = heure;
		if(heure > 12)
			heure=(heure-=12)*4;
		min = date.getMinutes();
		seconde = date.getSeconds();
		if(min >= 15 && min < 30)
		{
			heure++;
			quar = false;
		}
		if(min >= 30 && min < 45)
		{
			heure+=2;
			quar = false;
			demi = false;
		}
		if(min >= 45)
		{
			heure+=3;
			quar = false;
			demi = false;
			moinquar = false;
		}
		System.out.println(vraiHeure+":"+min+" "+seconde);
		setVisible(true);
		setResizable(false);
		second();
	}
	
	public void paint(Graphics g)
	{
		g.clearRect(0,0,400,300);
		g.setColor(Color.orange);
		g.fillRect(100,50,200,200);
		g.setColor(Color.white);
		g.fillOval(100,50,200,200);
		g.setColor(Color.green);
		g.drawLine(x1,y1,x2[min],y2[min]);
		g.drawLine(x1,y1,Hx2[heure],Hy2[heure]);
		g.setColor(Color.red);
		g.drawLine(x1,y1,x2[seconde],y2[seconde]);
		g.setColor(Color.blue);
		g.drawString("12",Tx2[0],Ty2[0]);
		for(int i=1;i < 12;i++)
		{
			g.drawString(String.valueOf(i),Tx2[i],Ty2[i]);
		}
		g.setColor(Color.black);
		if(seconde<10&&min<10)
			g.drawString(vraiHeure+":0"+min+" 0"+seconde,180,270);
		if(seconde>=10&&min<10)
			g.drawString(vraiHeure+":0"+min+" "+seconde,180,270);
		if(seconde<10&&min>=10)
			g.drawString(vraiHeure+":"+min+" 0"+seconde,180,270);
		if(seconde>=10&&min>=10)
			g.drawString(vraiHeure+":"+min+" "+seconde,180,270);
	}
	
	private void second()
	{
		Thread sec = new Thread();
		while(true)
		{
			try
			{
				sec.sleep(1000);
			}catch(Exception err)
			{
			}
			if(seconde==59)
			{
				seconde = 0;
				if(min==59)
				{
					min = 0;
					if(heure==48)
					{
						heure = 0;
						vraiHeure = 0;
					}
					else
					{
						heure++;
						vraiHeure++;
					}
					quar=true;
					demi=true;
					moinquar=true;
				}
				else
				min++;
			}
			else
				seconde++;
			if(min >= 15 && min < 30 && quar)
			{
				heure++;
				quar = false;
			}
			if(min >= 30 && min < 45 && demi)
			{
				heure++;
				demi = false;
			}
			if(min >= 45 && moinquar)
			{
				heure++;
				moinquar = false;
			}
			repaint();
		}
	}
	
	public static void main(String[] args)
	{
		new Heure();
	}
}

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.