Soyez le premier à donner votre avis sur cette source.
Vue 12 616 fois - Téléchargée 580 fois
import java.awt.*; import javax.swing.*; import java.awt.geom.*; import java.awt.event.*; import java.lang.*; import java.util.GregorianCalendar; public class Minuteur { public static void main(String[] args) { DrawFrame f=new DrawFrame("Draw Frame"); f.show(true); f.setDefaultCloseOperation(f.EXIT_ON_CLOSE); } } class DrawFrame extends JFrame { static public int heigth=Toolkit.getDefaultToolkit().getScreenSize().height/2; public static int width=Toolkit.getDefaultToolkit().getScreenSize().width/2; GregorianCalendar gr=new GregorianCalendar(); public DrawFrame(String titre) { this.setBounds(0,0,width,heigth); this.setTitle(titre); this.setResizable(false); Container cn=this.getContentPane(); DrawPanel dp=new DrawPanel(); Timer t=new Timer(1000,dp); t.start(); cn.add(dp); } } class DrawPanel extends JPanel implements ActionListener { private double x1=256; private double y1=10; private double t1; private double x2=256; private double y2=15; private double t2; private double x3=256; private double y3=15; private double t3; public void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D gr2d=(Graphics2D)g; gr2d.setColor(Color.white); Ellipse2D el=new Ellipse2D.Double(81,0,350,350); gr2d.fill(el); gr2d.setColor(Color.black); gr2d.draw(el); Line2D l1=new Line2D.Double(x1,y1,el.getCenterX(),el.getCenterY()); gr2d.draw(l1); Line2D l2=new Line2D.Double(x2,y2,el.getCenterX(),el.getCenterY()); gr2d.draw(l2); Line2D l3=new Line2D.Double(x3,y3,el.getCenterX(),el.getCenterY()); gr2d.draw(l3); /*Line2D l1=new Line2D.Double(0,el.getCenterY(),DrawFrame.width,el.getCenterY()); gr2d.draw(l1); Line2D l2=new Line2D.Double(el.getCenterX(),0,el.getCenterX(),DrawFrame.heigth); gr2d.draw(l2);*/ gr2d.setFont(new Font("Comic Sans MS",Font.BOLD,26)); gr2d.drawString("12",245,25); gr2d.drawString("6",249,345); gr2d.drawString("3",414,180); gr2d.drawString("9",85,180); } public void actionPerformed(ActionEvent e) { GregorianCalendar g=new GregorianCalendar(); x1=256+Math.sin(t1)*165; y1=175-165*Math.cos(t1); t1=g.get(g.SECOND)*Math.PI/30; //System.out.println(t1%(2*Math.PI)); x2=256+Math.sin(t2)*145; y2=175-145*Math.cos(t2); t2=g.get(g.MINUTE)*Math.PI/30; x3=256+Math.sin(t3)*100; y3=175-100*Math.cos(t3); t3=g.get(g.HOUR)*5*Math.PI/30; repaint(); } }
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.