import java.applet.Applet;  // java applet sinifini cagir
import java.awt.*;          // java pencere kullanma sinifini cagir
import java.awt.event.*;    //  java pencereyi dinleme sinifini cagir
public class H5A1 extends Applet implements ActionListener
{
    // bu sinif kupun hacmini hesaplar
    //=====================================================
    // sinif degiskenleri
    // bu degiskenler tum sinifa aittir
    Label kutubasligi; //Label sinifi degiskeni (nesnesi) kutubasligi
    TextField kutugirdisi;// Textfield sinifi degiskeni (nesnesi) kutugirdisi
    double yaricap;          // Gercek degisken yaricap
    double hacim;            // Gercek degisken hacim
    //=====================================================
    // pencereyi baslatma metodu
    // pencere ilk basladiginda 
    // degiskenler buradaki degerleri alirlar
    public void init()
    {
    kutubasligi=new Label("Kubun yaricapini (m)giriniz : ");
    add(kutubasligi);
    kutugirdisi=new TextField(10);
    add(kutugirdisi);
    yaricap=0;
    hacim=0;
    kutugirdisi.addActionListener(this);
    }
    //=====================================================    
    // girdi alanindaki olan olaylari dinleme metodu
    // Her yeni rakam girildiginde bu metod cagirilir
    public void actionPerformed(ActionEvent e)
    {
    Double sayi1=new Double(e.getActionCommand() );
    yaricap=sayi1.doubleValue(); 
    hacim=kubunhacmi(yaricap);
    kutugirdisi.setText("");//kutudaki rakami sil
    repaint();//pencereyi yeniden paint metoduna gore ciz
    }
    //=====================================================
    // paint (boya=pencereye ciz metodu)
    public void paint(Graphics g)
    { 
    g.drawString(yaricap+" m capindaki kubun hacmi : "+hacim+" m^3",25,50);
    }
    //=====================================================
    //kubun hacmini hesaplama metodu
    public double kubunhacmi(double r)
    {
    return (4.0/3.0)*Math.PI*r*r*r;        
    }
}
