//import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

public class Fenetre2 extends Frame{
    int nb_sommets, deg_max;
    String label_aretes,nom_fichier;
    Label titre, sommets, degre, aretes, fichier;
    TextField som,deg,aret,nom_f;
    Button calculer;

    Fenetre2(String t, int s, int d, String la){
	super(t);

	setFont(new Font("Serif",Font.PLAIN,12));
	

	addWindowListener(new WindowAdapter(){
		public void windowClosing(WindowEvent e){
		    System.exit(0);
		}
	    });
	this.setLayout(new GridLayout(0, 1));

	Dimension tailleEcran = Toolkit.getDefaultToolkit().getScreenSize();
	int largeurEcran = tailleEcran.width;
	int hauteurEcran = tailleEcran.height;
	int largeur = 700;
	int hauteur = 450;

	int pos_x = (largeurEcran - largeur)/2;
	int pos_y = (hauteurEcran - hauteur)/2;
	
	setBounds(pos_x,pos_y, largeur, hauteur);

	nb_sommets = s ; deg_max = d ; label_aretes = la;
	
	titre = new Label("tapez les caractéristiques du graphe");
	sommets = new Label("nb sommets");
	degre = new Label("degré max");
	aretes = new Label("arêtes présentes");
	fichier = new Label("nom du fichier à créer");

	som = new TextField(Integer.toString(nb_sommets),20);
	som.setBackground(Color.gray);
	deg = new TextField(Integer.toString(deg_max,20));
	deg.setBackground(Color.gray);
	aret = new TextField(label_aretes,150);
	aret.setBackground(Color.gray);
	nom_f = new TextField("no_name");
	nom_f.setBackground(Color.gray);


	calculer = new Button("Calculer");
	calculer.setBackground(Color.red);
	

	calculer.addActionListener(new ActionCalculer());


	this.setBackground(Color.lightGray);
	this.add(titre);
	this.add(sommets);
	this.add(som);
	this.add(degre);
	this.add(deg);
	this.add(aretes);
	this.add(aret);
	this.add(fichier);
	this.add(nom_f);
	this.add(calculer);
	this.setVisible(true);
    }

    class ActionCalculer implements ActionListener{
	public void actionPerformed(ActionEvent e){
	    nb_sommets = (int) Integer.parseInt(som.getText());
	    deg_max = (int) Integer.parseInt(deg.getText());
	    label_aretes = aret.getText();
	    nom_fichier = nom_f.getText();

	    Analyse ana;
	    ana = new Analyse(nom_fichier,label_aretes,nb_sommets, deg_max);
	   
	    ana.push_vertices(); // empile les arêtes
	    ana.make_file(); // crée le fichier

	}

    }

    public static void main (String[] args){
	Fenetre2 ma_fenetre;

	ma_fenetre = new Fenetre2("Traducteur de graphes",11,4,
				 "3-5;10-3;5-4;");

	ma_fenetre.setVisible(true);
    }
}



