Partage
  • Partager sur Facebook
  • Partager sur Twitter

Applet et HTML

probleme d'affichage du résultat

    6 mai 2012 à 9:41:18

    Bonjour à vous,

    Je suis en train de réaliser ma première interface graphique avec Java, et l'ai mise en applet, cependant, lors de la visualisation avec l'applet viewer sur ms dos, en rentrant les données, et cliquant sur le bouton, l'action ne se fait pas, ou bien ne s'affiche pas, quelqu'un pourrait il me dire si il a une idée?
    Merci bcp!!!

    Voici le fichier java:

    import java.awt.* ;
    import java.awt.event.* ;
    import java.text.* ;
    import java.applet.*;
    
    
      public class Fenetre extends Applet {
           	protected TextArea texte ;
    	protected Button b ;
    	protected Choice c1, c2, c3;
    	protected TextField txt1, txt2;
    	protected Panel p,p1,p2,p3,p4 ;
    	protected Delegue delegue;
    	protected Adaptateur adapt;
    
    	public void init() {
    		
    		setLayout (new GridLayout(4,1));
    		
    		p = new Panel();
    		p.setLayout(new BorderLayout());
    		
    		p1 = new Panel();
    		p1.setLayout (new FlowLayout());
    		p1.add (new Label ("Montant à emprunter"));
    		txt1 = new TextField (9);
    		p1.add(txt1);
    		p1.add (new Label ("Revenu Mensuel"));
    		txt2 = new TextField (9);		
    		p1.add (txt2);
    		p.add ("North", p1);
    		
    		p2 = new Panel ();
    		p2.setLayout (new FlowLayout ());
    		p2.add(new Label ("Chevaux fiscaux"));		
    		c1 = new Choice ();
    		c1.add ("4");
    		c1.add ("5");
    		c1.add ("6");
    		c1.add ("7");
    		c1.add ("8");
    		c1.add ("9");
    		c1.add ("10");
    		c1.add ("11");
    		c1.add ("12");
    		c1.add ("13");
    		c1.add ("14");
    		c1.add ("15");
    		c1.add ("16");
    		c1.add ("17");
    		c1.add ("18");
    		p2.add (c1);
    		p2.add (new Label ("Mois de remboursement"));		
    		c2 = new Choice ();
    		c2.add ("12");
    		c2.add ("24");
    		c2.add ("36");
    		c2.add ("48");
    		c2.add ("60");
    		c2.add ("72");
    		p2.add (c2);
    		p2.add(new Label ("Type de voiture"));
    		c3 = new Choice();
    		c3.add ("Essence");
    		c3.add ("Diesel");
    		c3.add ("Hybride");
    		c3.add ("Electrique");
    		p2.add(c3);
    		p.add ("Center", p2);
    		
    		p3 = new Panel ();
    		b = new Button ("Valider");
    		p3.add (b);
    		p.add ("South", p3);
    		add(p);
    		
    		texte = new TextArea (20,25);
    		texte.setText("Montant des mensualités");
    		add(texte);
    		
    		delegue = new Delegue (this);
    		adapt = new Adaptateur (delegue);
    		b.addActionListener (adapt);		
    
    		} // fermeture public void init
    
    	}  // fermeture class Fenetre Frame
    
    class Delegue {
    	protected Fenetre fen;
    
    	Delegue (Fenetre f) {
    		fen=f;
    		}
    		
    	void calcule () { 
    
    		double i = 0;
    		String c = fen.c1.getSelectedItem ();
    		double cf = new Double(c).doubleValue () ; 
    		if (cf<=9){
    			i=0.10;
    			}
    		if (cf>9) {
    			i=0.11;
    			}
    		String m = fen.txt1.getText ();
    		double mt = new Double(m).doubleValue () ; 
    		String n = fen.c2.getSelectedItem ();
    		int nb = new Integer(n).intValue () ; 
    		String rev = fen.txt2.getText();
    		double revmen = new Double(rev).doubleValue();	
    		String type = fen.c3.getSelectedItem ();	
    		double men = mt;
    		men = (men*i)/(1-Math.pow(1+i, -nb));
    		fen.texte.setText(new Double(men).toString());// affichage du resultat
    		DecimalFormat df = new DecimalFormat					("########.00"); 
    		String str = df.format(men); 
    		men = Double.parseDouble(str.replace(',', '.')); 
    		if (mt<= 12*revmen) {
    			String res1 = "Vous avez choisi le montant 			d'emprunt" + fen.txt1.getText();
    			res1=res1 + "\nLe taux annuel appliqué est de 			" + 100*i + "%. ";
    			res1=res1 + "\nLe montant de la mensualité 			est de: " + men;
    			res1=res1 + "\nLe prêt est a priori AUTORISE. 			";
    			fen.texte.setText(res1);
    			}
    		else { 
    			String res2 = "Le montant a emprunter " + 				fen.txt1.getText();
    			res2=res2 + " ne peut pas excéder 12 fois 				votre revenu mensuel de " + fen.txt2.getText			();
    			fen.texte.setText(res2);
    			}
    		while (cf>7) {
    			if (revmen>3000) {
    				String res1 = "Vous avez choisi le 					montant d'emprunt" +	fen.txt1.getText();
    				res1=res1 + "\nLe taux annuel appliqué est de " + 100*i + "%. ";
    				res1=res1 + "\nLe montant de la mensualité est de: " + men;
    				res1=res1 + "\nLe prêt est a priori AUTORISE. ";
    				fen.texte.setText(res1);
    				break;
    				}
    			else {
    				String res3 = "Le nombre de chevaux fiscaux de votre voiture est supérieur a 7, c'est-a-dire:  " + cf;
    				res3=res3 + ".\nVotre revenu mensuel doit être supérieur à  3000 .";
    				fen.texte.setText(res3);
    				break;
    				}	
    			}
    		while (cf>14) {
    			if (revmen>6000) {
    				String res1 = "Vous avez choisi le montant d'emprunt" +		fen.txt1.getText();
    				res1=res1 + "\nLe taux annuel appliqué est de " + 100*i + "%. ";
    				res1=res1 + "\nLe montant de la mensualité est de: " + men;
    				res1=res1 + "\nLe prêt est a priori AUTORISE. ";
    				fen.texte.setText(res1);
    				break;
    				}
    			else {
    				String res4 = "Le nombre de chevaux fiscaux de votre voiture est supérieur a 14, c'est-a-dire:  " + cf;
    				res4=res4 + ".\nVotre revenu mensuel doit être supérieur à 6000 .";
    				fen.texte.setText(res4);
    				break;
    				}
    			}
    		while (type == "Essence"){ 
    			if(nb > 66){
    			String res5 = "Votre voiture est de type " + type;
    			res5 = res5 + "\nLe nombre de mensualité choisi doit être inférieur ou égal à 66 .";
    			fen.texte.setText(res5);
    			break;
    				}
    			else {
    			String res1 = "Vous avez choisi le montant d'emprunt" + fen.txt1.getText();
    			res1=res1 + "\nLe taux annuel appliqué est de " + 100*i + "%. ";
    			res1=res1 + "\nLe montant de la mensualité est de: " + men;
    			res1=res1 + "\nLe prêt est a priori AUTORISE. ";
    			fen.texte.setText(res1);
    			break;
    				}
    			}
    		while (type == "Diesel"){ 
    			if(nb > 54){
    			String res5 = "Votre voiture est de type " + type;
    			res5 = res5 + "\nLe nombre de mensualité choisi doit être inférieur ou égal à 54 .";
    			fen.texte.setText(res5);
    			break;
    				}
    			else {
    			String res1 = "Vous avez choisi le montant d'emprunt" +		fen.txt1.getText();
    			res1=res1 + "\nLe taux annuel appliqué est de " + 100*i + "%. ";
    			res1=res1 + "\nLe montant de la mensualité est de: " + men;
    			res1=res1 + "\nLe prêt est a priori AUTORISE. ";
    			fen.texte.setText(res1);
    			break;
    				}
    			}
    		while (type == "Hybride"){ 
    			if(nb > 42){
    			String res5 = "Votre voiture est de type " + type;
    			res5 = res5 + "\nLe nombre de mensualité choisi doit être inférieur ou égal à 42 .";
    			fen.texte.setText(res5);
    			break;
    			}
    			else {
    			String res1 = "Vous avez choisi le montant d'emprunt" +		fen.txt1.getText();
    			res1=res1 + "\nLe taux annuel appliqué est de " + 100*i + "%. ";
    			res1=res1 + "\nLe montant de la mensualité est de: " + men;
    			res1=res1 + "\nLe prêt est a priori AUTORISE. ";
    			fen.texte.setText(res1);
    			break;
    				}
    			}
    		while (type == "Electrique"){ 
    			if(nb > 30){
    			String res5 = "Votre voiture est de type " + type;
    			res5 = res5 + "\nLe nombre de mensualité choisi doit être inférieur ou égal à 30 .";
    			fen.texte.setText(res5);
    			break;
    			}
    			else {
    			String res1 = "Vous avez choisi le montant d'emprunt" +		fen.txt1.getText();
    			res1=res1 + "\nLe taux annuel appliqué est de " + 100*i + "%. ";
    			res1=res1 + "\nLe montant de la mensualité est de: " + men;
    			res1=res1 + "\nLe prêt est a priori AUTORISE. ";
    			fen.texte.setText(res1);
    			break;
    			}
    		}  	
    	     }       	
    	}	//fermeture class Delegue
    
    class Adaptateur implements ActionListener{
     protected Delegue delegue;
     Adaptateur (Delegue d) {
      delegue=d ;
      }
    
     public void actionPerformed(ActionEvent e) {
      Object src = e.getSource();
      String param = ((Button)src).getLabel();
      if (param == "Valider") delegue.calcule() ;	 //bouton valider ordonnant le calcul  
      }		
    }
    


    et la page HTML:

    <html>
    	<head>
    		<title> Fenetre</title>
    	</head>
    	<body>
    		<h2><center>Emprunt</center></h2>
    		<center>
    		<applet code="Fenetre.class" width="300" height="600">
    		</applet>
    		</center>
    	</body>
    </html>
    
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      6 mai 2012 à 10:41:44

      Dans (param == "Valider") param est une référence vers une chaine de caractères. Il faut utiliser la méthode equals (param.equals("Valider")).
      • Partager sur Facebook
      • Partager sur Twitter
        6 mai 2012 à 12:11:33

        Merci de ta réponse brubru777 :) cependant en ayant fait le remplacement, je n'obtient aucune modification o_O

        public void actionPerformed(ActionEvent e) {
           Object src = e.getSource();
           String param = ((Button)src).getLabel();
           if (param.equals("Valider"))delegue.calcule() ;
        }
        


        pourtant, avant de passer le programme en applet, en exécutant avec MS DOS, je n'avais aucun problème avec le bouton valider, et la réalisation du calcul.. je doit avouer que je suis un peu dépassé ^^
        • Partager sur Facebook
        • Partager sur Twitter

        Applet et HTML

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown