Skip to main content

Java Applet Uygulaması : Analog Saat

Program  Java Applet sınıfını kullanarak ekrana Analog bir saat çizer. Ve sistem saatini gösterir.    Yabancı bir kaynakta denk gelmiştin bu örneğe ve hoşuma gitti. Burada paylaşmak istedim. Program bir çok sınıfı kendisine import ediyor. Ama bizim için bunlardan önemli olanı import yildiz; olarak eklediğimiz sınıf. Çünkü bu sınıfta biz tarafında kodlandı. Onunda kodlarını aşağıda bulabilirsiniz.
Programın çıktısı şu şekilde olacaktır.

import java.applet.Applet;
import java.util.*;
import java.awt.*;
import yildiz;
import polar;
import java.awt.event.*;
 
class yildizCiz2Thread extends Thread
{
Applet a;
   public yildizCiz2Thread(Applet ai)
   {
   a=ai;
   }
 
   public void run()
   {
   while(true)
   {
    a.repaint();
    try {Thread.sleep(1000);}
    catch(InterruptedException e)
    {System.err.println(e.toString());}
   }
   }
} //yildizciz2Thread sinifinin sonu
 
public class analogSaat extends Applet
{
  yildizCiz2Thread y;
  double aci1,aci2,aci3;
  Date c;
  polar p;
 
  public void init()
  {
    c=new Date();
    // Lincoln -USA standart (Greenwitch zamanina göre 6 saat geride)
    // String[] ids = TimeZone.getAvailableIDs(-6 * 60 * 60 * 1000);
    // Türkiye saati ; (Greenwitch zamanina göre 2 saat ileride)
    String[] ids = TimeZone.getAvailableIDs(2 * 60 * 60 * 1000);
    if (ids.length == 0)
       System.exit(0);
    // Lincoln -USA standart (Greenwitch zamanina göre 6 saat geride)
    // SimpleTimeZone pdt = new SimpleTimeZone(-6 * 60 * 60 * 1000, ids[0]);
    // String[] ids = TimeZone.getAvailableIDs(-6 * 60 * 60 * 1000);
    // Türkiye saati ; (Greenwitch zamanina göre 2 saat ileride)
    String[] ids = TimeZone.getAvailableIDs(2 * 60 * 60 * 1000);
    GregorianCalendar takvim=new GregorianCalendar(pdt);
    takvim.setTime(c);
    p=new polar();
    setBackground(renk.beyaz);
    aci1=-takvim.get(Calendar.SECOND)/60.0*Math.PI*2;
    aci2=-takvim.get(Calendar.MINUTE)/60.0*Math.PI*2;
    aci3=-((takvim.get(Calendar.HOUR))%12)/12.0*Math.PI*2+aci2/12.0;
    y=new yildizCiz2Thread(this);
    y.start();
  }
 
  public void paint(Graphics g)
  {
  try{
     g.setColor(renk.camgobegi);
     yildiz.fillDaire(g,200,200,170);
     g.setColor(renk.mavi);
     yildiz.fillAkrep(g,200,200,16,160,aci2,0);
     g.setColor(renk.yesil);
     yildiz.fillAkrep(g,200,200,8,110,aci3,0);
     g.setColor(renk.lacivert);
     yildiz.fillAkrep(g,200,200,10,60,aci1,0);
     g.setColor(renk.siyah);
     yildiz.drawDaire(g,200,200,165);
     yildiz.drawDaire(g,200,200,170);
     yildiz.drawAkrep(g,200,200,16,160,aci2,0);
     yildiz.drawAkrep(g,200,200,8,110,aci3,0);
     yildiz.drawYildiz1(g,200,200,10,60,aci1);
     aci1-=Math.PI/30.0;
     aci2-=Math.PI/1800.0;
     aci3-=Math.PI/21600.0;
     for(int i=0;i

Programa İmport ettiğimiz “yildiz” isimli sınıfın kodları ise şu şekildedir.

import java.io.*;
import java.awt.*;
import java.applet.Applet;
 
public class yildiz 
{
 
public static void drawYildiz1(Graphics g,int xi,int yi, int n,int yildizboyu,double aci )
{
   // bu yldz cizime teta=pi/2+aci radyandan baslar
   double teta=2.0*Math.PI/n;
   double R=yildizboyu;
   double r=yildizboyu*0.25;
   polar P1=new polar();
   polar P2=new polar();
   polar P3=new polar();
   for(int i=0;i

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

Aytaç Cici

İstanbul Üniversitesi Bilgisayar Mühendisliği mezunu bir Yazılım Geliştirici. Çeşitli zamanlarda Java, PHP, C# ve Delphi gibi diller kullanarak yazılım geliştirmiştir. Bir dönem SEO alanında da çalışmalar yapmıştır.

Java Applet Uygulaması : Analog Saat” hakkında 3 yorum

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Email
Print