radi71 | Bonjour,
S'il vous plaît, j'ai besoin d'urgence de votre aide.
je realise une applet java et je voudrai utiliser la saisie au clavier au lieu de la méthode addText lorqu' on demande à une personne de saisir son nom ou son age ... càd maniere dynamique avec la classe CustomClass1 implements CustomInterfacepublic int executeLine(int line)
voilà quelques parties de mon applet: Code :
- import java.util.*;
- import java.awt.*;
- import java.applet.Applet;
- public class FirstOne7 extends Applet implements FrameworkInterface
- {
- Button b1 = new Button("Start" );
- Button b2 = new Button("To Next Breakpoint" );
- SourcePanel sp1 = new SourcePanel();
- VarPanel vp1 = new VarPanel();
- DisplayText dt1 = new DisplayText();
- CustomInterface cc1 = new CustomClass1();
- ContextStackPanel cs1 = new ContextStackPanel();
- ReceiverPanel rp1 = new ReceiverPanel();
- ActPanel acp1 = new ActPanel();
- Choice ch1 = new Choice();
- /************** init method *****************/
- public void init()
- {
- vp1.resetVar();
- setLayout(null);
- add(sp1);
- add(b1);
- add(b2);
- add(vp1);
- add(cs1);
- add(rp1);
- add(acp1);
- add(dt1);
- add(ch1);
- ch1.addItem("RacineCarrée" );
- ch1.addItem("Personne" );
- sp1.reshape(10,10,340,220);
- dt1.reshape(10,240,350,210);
- vp1.reshape(370,10,320,200);
- cs1.reshape(370,220,320,70);
- rp1.reshape(370,300,320,30);
- acp1.reshape(370,340,320,50);
- b1.reshape(370,400,160,20);
- b2.reshape(535,400,155,20);
- ch1.reshape(370,425,320,10);
- cc1.setParent(this);
- b2.disable();
- }
- public boolean action(Event evt, Object what)
- {
- boolean flag;
- int i;
- if (evt.target==b1)
- {
- b1.disable();
- b2.disable();
- if (sp1.getLine()==-1)
- {
- dt1.resetScreenText();
- vp1.resetVar();
- }
- sp1.setLine(cc1.executeLine(sp1.getLine()));
- if(ch1.getSelectedItem()=="Adresse_de_structure" )
- {
- sp1.positionOfScrollbar (0);
- }
- else
- {
- sp1.positionOfScrollbar (sp1.getLine());
- }
- if (sp1.getLine()==-1)
- {
- b1.setLabel("Start" );
- dt1.resetScreenText();
- vp1.resetVar();
- }
- else
- {
- b1.setLabel("Next" );
- }
- b1.enable();
- b2.enable();
- return true;
- }
- if (evt.target==b2)
- {
- flag = true;
- b1.disable();
- b2.disable();
- while ( (sp1.getLine() != -1) && flag )
- {
- sp1.setLine(cc1.executeLine(sp1.getLine()));
- if(ch1.getSelectedItem()=="Adresse_de_structure" )
- {
- sp1.positionOfScrollbar (0);
- }
- else
- {sp1.positionOfScrollbar (sp1.getLine());
- }
- flag = !(sp1.get_br(sp1.getLine()));
- }
- b1.enable();
- b2.enable();
- if (sp1.getLine()==-1)
- {
- b2.disable();
- b1.setLabel("Start" );
- }
- return true;
- }
- if (evt.target==ch1)
- {
- if(ch1.getSelectedItem()=="RacineCarrée" )
- {
- b1.setLabel("Start" );
- sp1.reset_br();
- dt1.resetScreenText();
- vp1.resetVar();
- rp1.resetReceiver();
- acp1.resetAct();
- sp1.toStart();
- sp1.positionOfScrollbar (sp1.getLine());
- sp1.myRepaint();
- cs1.setStack();
- cc1.setParent(this);
- }
- if(ch1.getSelectedItem()=="Personne" )
- {
- ...........
- }
- return true;
- }
- return super.action(evt,what);
- }
- class DisplayText extends Canvas
- {
- int nbLine;
- protected Stack textDisplay;
- protected DisplayText()
- {
- Color col = new Color(245, 245, 245);
- setBackground(col);
- textDisplay = new Stack() ;
- }
- /**This method allows to put in a textDisplay an element.*/
- public void putInScreen(String element)
- {
- textDisplay.push(element);
- repaint();
- }
- /**This method allows to reset the display in the screen.*/
- public void resetScreenText()
- {
- while (textDisplay.empty() ==false)
- {
- textDisplay.pop();
- }
- repaint();
- }
- public void paint(Graphics g)
- {
- Stack stack1= new Stack();
- Stack stack2= new Stack();
- String txt= new String();
- txt= "Message displayed on the screen by the program";
- g.setColor(Color.blue);
- g.drawString(txt,0,10);
- g.setColor(Color.black);
- stack1 = (Stack)textDisplay.clone();
- int i=0;
- while (stack1.empty() ==false)
- {
- stack2.push ((String)stack1.pop());
- }
- while (stack2.empty() ==false)
- {
- g.drawString(((String)stack2.pop()).toString(),10,10*i+20);
- i=i+1;
- }
- }
- }
- .....
- .....
- .....
- class DisplayText extends Canvas
- {
- int nbLine;
- protected Stack textDisplay;
- protected DisplayText()
- {
- Color col = new Color(245, 245, 245);
- setBackground(col);
- textDisplay = new Stack() ;
- }
- /**This method allows to put in a textDisplay an element.*/
- public void putInScreen(String element)
- {
- textDisplay.push(element);
- repaint();
- }
- /**This method allows to reset the display in the screen.*/
- public void resetScreenText()
- {
- while (textDisplay.empty() ==false)
- {
- textDisplay.pop();
- }
- repaint();
- }
- public void paint(Graphics g)
- {
- Stack stack1= new Stack();
- Stack stack2= new Stack();
- String txt= new String();
- txt= "Message displayed on the screen by the program";
- g.setColor(Color.blue);
- g.drawString(txt,0,10);
- g.setColor(Color.black);
- stack1 = (Stack)textDisplay.clone();
- int i=0;
- while (stack1.empty() ==false)
- {
- stack2.push ((String)stack1.pop());
- }
- while (stack2.empty() ==false)
- {
- g.drawString(((String)stack2.pop()).toString(),10,10*i+20);
- i=i+1;
- }
- }
- }
- ....
- ....
- class CustomClass1 implements CustomInterface
- {
- FrameworkInterface parent=null;
- Stack returnline = new Stack();
- int program=1;
- public void setParent(FrameworkInterface parent)
- {
- this.parent = parent;
- String lines[]= new String[19];
- /************************************************************************/
- if(parent.getProgram()=="RacineCarrée" )
- {
- program=1;
- }
- if(parent.getProgram()=="Personne" )
- {
- program=2;
- }
- switch(program)
- {
- case 1:
- lines[0] ="#include <stdio.h>";
- lines[1] ="#include <math.h>";
- lines[2] ="#define NFOIS 2";
- lines[3] ="main (){";
- lines[4] ="int a;";
- lines[5] ="float x;";
- lines[6] ="float racx;";
- lines[7] ="printf (\"bonjour\" );";
- lines[8] ="printf (\"je vais vous calculer %d racines carrées\", NFOIS);";
- lines[9] ="for (a=0 ; a<NFOIS ; a++){";
- lines[10]="printf (\"Donnez un nombre : \" );";
- lines[11]="scanf (\"%f\", &x);";
- lines[12]="if (x < 0.0);";
- lines[13]="printf (\"Le nombre %f n'a pas de racine carrée \", x);";
- lines[14]="else { ";
- lines[15]="racx = sqrt (x);";
- lines[16]="printf (\"Le nombre %f a pour racine carrée : %f\"; x; racx);}}";
- lines[17]="printf (\"Travail terminé - Au revoir\" );";
- lines[18]="}";
- break;
- case 2:
- {
- .....
- .....}
- }//fin switch
- parent.setText(lines);
- }//fin de setParent()
- public int executeLine(int line)
- {
- Integer i1;
- /************************************************************************/
- if(parent.getProgram()=="RacineCarrée" )
- {
- program=1;
- }
- if(parent.getProgram()=="Personne" )
- {
- program=2;
- }
- switch(program)
- {
- case 1:
- switch (line)
- {
- case -1:
- parent.resetAct();
- parent.resetVar();
- parent.changeAct("The program starts at the main" );
- return 4;
- case 4:
- parent.resetAct();
- parent.changeAct("Declaration de la variable a" );
- return 5;
- case 5 :
- parent.resetAct();
- parent.initVar();
- parent.createVar(0,"a","0" );
- parent.changeAct("Declaration de la variable x" );
- return 6;
- case 6:
- parent.resetAct();
- parent.initVar();
- parent.createVar(1,"x","0" );
- parent.changeAct("Declaration de la variable racx" );
- return 7;
- case 7:
- parent.resetAct();
- parent.initVar();
- parent.createVar(2,"racx","0" );
- parent.changeAct("impression du mot Bonjour" );
- return 8;
- case 8 :
- parent.resetAct();
- parent.addText("Bonjour" );
- parent.changeAct("impression du nombre racx à calculer" );
- return 9;
- case 9 :
- parent.resetAct();
- parent.addText("Je vais vous calculer 2 racines carrées" );
- parent.changeAct("les paramètres de la boucle for" );
- return 10;
- case 10 :
- parent.resetAct();
- parent.initVar();
- parent.changeVar(0,"0" );
- parent.changeAct("impression du nombre" );
- return 11;
- case 11:
- parent.resetAct();
- parent.addText("Donnez un nombre : " );
- parent.changeAct("Lecture du nombre entré" );
- return 12;
- case 12 :
- parent.resetAct();
- parent.addText("9" );
- parent.initVar();
- parent.changeVar(1," 9" );
- parent.changeAct("La condition imposée pour le x" );
- return 13;
-
- case 13:
- parent.resetAct();
- parent.initVar();
- parent.createVar(3,"condition","(x < 0.0)" );
- parent.changeAct("Examination de la condition imposé pour x" );
- return 15;
- case 15:
- parent.resetAct();
- parent.initVar();
- parent.changeVar(3,"false" );
|
pour la case 12 au lieu de faire parent.addText("9" ), je vous que la personne puisse introduire les valeurs.j'ai essayé d'adapter le code ci-dessous à mon applet mais, je n'ai pas reussi. Code :
- package saisie;
- import java.io.*;
- public class Clavier{
- public static String LireString(String message){
- System.out.print(message+" : " );
- String lecture = "";
- try {
- lecture= new BufferReader(new InputStreamReader(System.in)).readLine();
- }
- catch (IOException erreur) { System.out.println("Problème à la saisie" );}
- return lecture;
- }
- public static int LireInt(String message){
- return Integer.parseInt(LireString(message));
- }
- public static double LireDouble(String message){
- return Double.parseDouble(LireString(message));
- }
- public static char LireChar(String message){
- return LireString(message).chartAt(0);
- }
- }
|
je m'excuse pour la langueurede code,mais je n'ai pas pu faire autrement.
Merci d'avance.
|