import  java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Pick1 extends JApplet implements ActionListener{
 int maxcol = 158;
 Color col[]=new Color[maxcol];
 PickCanvas disegno;
 Button b1;
 Panel p1,p2;
 TextField c1val,c2val;
 Label l1,l2;
 double c1,c2;

public void init(){
   c1 = Math.random()-5.;
   c2 = Math.random()-5.;
   Julia1.setcol(col);
   disegno = new PickCanvas(this);
   
   p1 = new Panel(); 
   p1.add(l1 = new Label("c1"));
   p1.add(c1val=new TextField(5));
   c1val.setText(Double.toString(c1));    
   p1.add(l2 = new Label("c2"));
   p1.add(c2val=new TextField(5));
   c2val.setText(Double.toString(c2));    
   p2 = new Panel(); 
   p2.add(b1 = new Button("Disegna"));
   b1.addActionListener(this);
   getContentPane().setLayout(new BorderLayout());
   getContentPane().add("North",p1);  
   getContentPane().add("Center",disegno);
   getContentPane().add("South",p2);  
   disegno.repaint();
 
}
public void actionPerformed(ActionEvent e){
  c1 = Double.valueOf(c1val.getText()).doubleValue();
  if(c1<-5.)c1=-5.;
  if(c1 > -.4)c1=-4.;
  c2 = Double.valueOf(c2val.getText()).doubleValue();
  if(c2<-5.)c2=-5.;
  if(c2 > -.4)c2=-4.;
  disegno.repaint();

}
}
class PickCanvas extends JPanel{
  Pick1 appl;
PickCanvas(Pick1 appl1){
   super();
   appl=appl1;
   }
public void paintComponent(Graphics g){
   super.paintComponent(g);
   int i,j,ncol;

    for(i=0;i<getSize().width;i++){
      for(j=0;j<getSize().height;j++){
              ncol = (int)(appl.c1*(Math.sin(-11.+appl.c2*i)+Math.sin(-12.+appl.c2*j)));
              ncol = Math.abs(ncol)%appl.maxcol+1;
              g.setColor(appl.col[ncol]);
              g.fillRect(i,j,1,1);
              }
       }
}
}
