// 18/05/2003
import java.applet.Applet;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

/* <APPLET CODE="luzsimples.class" CODEBASE="." WIDTH=470 HEIGHT=400> </APPLET> */

public class luzsimples extends Applet implements ActionListener
{
  Label     titulo01,
            rotulo01, rotulo02,  rotulo03;
  TextField caixa001, caixa002, caixa003;
  Button    botao;
  double    hora, A, Y;

  public void init()
  {
    titulo01  = new Label(" Oscilação diária da luz solar ");	add(titulo01);
    rotulo01  = new Label("Hora:");      add(rotulo01);
	caixa001  = new TextField("12",2);   add(caixa001);
	rotulo02  = new Label("Amplitude:"); add(rotulo02);
	caixa002  = new TextField("2.6",2);  add(caixa002);
	botao = new Button("Calcular!");     add(botao);     botao.addActionListener(this);
	rotulo03  = new Label("Radiação:");  add(rotulo03);
	caixa003  = new TextField("",6);     add(caixa003);  caixa003.setBackground(Color.yellow);
  }

  public void actionPerformed(ActionEvent e)
  {	if (e.getSource() == botao)
	{  hora =  Double.valueOf(caixa001.getText()).doubleValue();
	   A = Double.valueOf(caixa002.getText()).doubleValue();
	   Y=A*Math.sin((hora-6)*(2*3.1416/24));
	   if (Y<0) Y=0;
       caixa003.setText(String.valueOf(Y));
	   repaint();
	}
  }
  public void paint (Graphics g)
  { double  T, DT, Y0, T0;
    T=0;    DT=0.1;
    Y0=30; T0=15; /* fatores de escala */

    g.drawRect(80,120,360,200);
    g.drawString("Radiação ", 5, 175);
	g.drawString("Tempo (horas)", 275, 340);

    g.setColor(Color.blue);
    g.drawLine(80, (int)(320-Y*Y0),440,(int)(320-Y*Y0));

	for (T=0;T<(24);T=T+DT)
    {
		g.drawOval((int)(80+T*T0),(int)(320-Y*Y0),1,1);
		g.drawLine((int)((hora+5.5)*T0),120,(int)((hora+5.5)*T0),320);
		Y=A*Math.sin((T-6)*(2*3.1416/24));
        if (Y<0) Y=0;
    }
  }
}// Enrique Ortega DEA-FEA-Unicamp 25 abril 2002
