//   Ruutvrrand

import java.awt.*;
import java.applet.Applet;
import java.awt.event.*;

public class Ruutvorrand extends Applet implements ActionListener{
   Panel ylapaneel=new Panel(new GridLayout(3, 1));
   TextField teateala=new TextField();
   TextField sisestusala=new TextField();
   Button nupp=new Button("Edasi");
   String teade="Sisesta ruutvrrandi esimese liikme kordaja!";
   static boolean lahendub=false;
   static double x1, x2, a, b, c,x,y;
   static int vajutus=0;
   static int i, px, py;
   static Panel alapaneel=new Panel(){
	  
	     public void paint(Graphics g){
	     try{Thread.sleep(200);}catch(Exception e){}
         if(lahendub==true){
			g.drawLine(190+20, 0, 190+20, 380);
            g.drawLine(0+20, 190, 380+20, 190);
		    for (i=-5;i<=5;i++){
			   x=i;	
			   y=a*x*x+b*x+c;
			   px = (int) x;
			   py = (int) y;
			   if (py==0){g.setColor(Color.red);}else{g.setColor(Color.black);}

			   g.fillOval(px+190+20-1, 190-1-py, 3, 3);
			   System.out.println(px+" "+py);
		    }
	     }
      }
   };

    public Ruutvorrand(){
       setLayout(new BorderLayout());
       ylapaneel.add(teateala);
   	   teateala.setEnabled(false);
	   teateala.setText(teade);
       ylapaneel.add(sisestusala);
       ylapaneel.add(nupp);
	   nupp.addActionListener(this);
       add(ylapaneel, BorderLayout.NORTH);
       add(alapaneel, BorderLayout.CENTER);
    }

	public void actionPerformed(ActionEvent e){
	   if (vajutus==0){
	      a=Double.parseDouble(sisestusala.getText().trim());
	      teateala.setText("Sisesta ruutvrrandi teise liikme kordaja!");
	      sisestusala.setText("");
	   }
	   if (vajutus==1){
	      b=Double.parseDouble(sisestusala.getText().trim());
	      teateala.setText("Sisesta ruutvrrandi vabaliige!");
	      sisestusala.setText("");
	   }
	   if (vajutus==2){
	      c=Double.parseDouble(sisestusala.getText().trim());
          teateala.setText("");
		  sisestusala.setVisible(false);
  		  nupp.setVisible(false);

		  if ((b*b-4*a*c)>=0){
			 lahendub=true;
		     x1=((-1*b)+Math.sqrt((b*b)-(4*a*c)))/(2*a);
		     x2=((-1*b)-Math.sqrt((b*b)-(4*a*c)))/(2*a);
  	         teateala.setText("Antud ruutvrrandi lahendid on: x1="+x1+" ja x2="+x2);
	         alapaneel.repaint();
			 }else{
  	         teateala.setText("Antud ruutvrrandil lahend puudub!");
		     }	
  	   }       
   	   vajutus=vajutus+1;
	}

    public static void main(String[] arg){
    Frame f=new Frame("Ruutvrrand");
    f.add(new Ruutvorrand());
    f.setSize(430, 500);
    f.setVisible(true);
    f.setResizable(false);

	}
}