Saisie au clavier dans le paneau écran d'applet

Saisie au clavier dans le paneau écran d'applet - Java - Programmation

Marsh Posté le 15-06-2005 à 17:13:09    

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 :
  1. import java.util.*;
  2. import java.awt.*;
  3. import java.applet.Applet;
  4. public class FirstOne7 extends Applet implements FrameworkInterface
  5. {
  6. Button b1 = new Button("Start" );
  7. Button b2 = new Button("To Next Breakpoint" );
  8. SourcePanel sp1 = new SourcePanel();
  9. VarPanel vp1 = new VarPanel();
  10. DisplayText dt1 = new DisplayText();
  11. CustomInterface cc1 = new CustomClass1();
  12. ContextStackPanel cs1 = new ContextStackPanel();
  13. ReceiverPanel rp1 = new ReceiverPanel();
  14. ActPanel acp1 = new ActPanel();
  15. Choice ch1 = new Choice();
  16. /************** init method *****************/
  17. public void init()
  18. {
  19.  vp1.resetVar();
  20.  setLayout(null);
  21.  add(sp1);
  22.  add(b1);
  23.  add(b2);
  24.  add(vp1);
  25.  add(cs1);
  26.  add(rp1);
  27.  add(acp1);
  28.  add(dt1);
  29.  add(ch1);
  30.  ch1.addItem("RacineCarrée" );
  31.                 ch1.addItem("Personne" );
  32.                 sp1.reshape(10,10,340,220);
  33.  dt1.reshape(10,240,350,210);
  34.  vp1.reshape(370,10,320,200);
  35.  cs1.reshape(370,220,320,70);
  36.  rp1.reshape(370,300,320,30);
  37.  acp1.reshape(370,340,320,50);
  38.  b1.reshape(370,400,160,20);
  39.  b2.reshape(535,400,155,20);
  40.  ch1.reshape(370,425,320,10);
  41.  cc1.setParent(this);
  42.  b2.disable();
  43. }
  44. public boolean action(Event evt, Object what)
  45. {
  46.  boolean flag;
  47.  int i;
  48.  if (evt.target==b1)
  49.  {
  50.   b1.disable();
  51.   b2.disable();
  52.   if (sp1.getLine()==-1)
  53.   {
  54.    dt1.resetScreenText();
  55.    vp1.resetVar();
  56.   }
  57.   sp1.setLine(cc1.executeLine(sp1.getLine()));
  58.   if(ch1.getSelectedItem()=="Adresse_de_structure" )
  59.   {
  60.    sp1.positionOfScrollbar (0);
  61.   }
  62.   else
  63.   {
  64.    sp1.positionOfScrollbar (sp1.getLine());
  65.   }
  66.   if (sp1.getLine()==-1)
  67.   {
  68.    b1.setLabel("Start" );
  69.    dt1.resetScreenText();
  70.    vp1.resetVar();
  71.   }
  72.   else
  73.   {
  74.    b1.setLabel("Next" );
  75.   }
  76.   b1.enable();
  77.   b2.enable();
  78.   return true;
  79.  }
  80.  if (evt.target==b2)
  81.  {
  82.   flag = true;
  83.   b1.disable();
  84.   b2.disable();
  85.   while ( (sp1.getLine() != -1) && flag  )
  86.   {
  87.    sp1.setLine(cc1.executeLine(sp1.getLine()));
  88.    if(ch1.getSelectedItem()=="Adresse_de_structure" )
  89.    {
  90.     sp1.positionOfScrollbar (0);
  91.    }
  92.    else
  93.    {sp1.positionOfScrollbar (sp1.getLine());
  94.    }
  95.    flag = !(sp1.get_br(sp1.getLine()));
  96.   }
  97.   b1.enable();
  98.   b2.enable();
  99.   if (sp1.getLine()==-1)
  100.   {
  101.    b2.disable();
  102.    b1.setLabel("Start" );
  103.   }
  104.   return true;
  105.  }
  106.  if (evt.target==ch1)
  107.  {
  108.   if(ch1.getSelectedItem()=="RacineCarrée" )
  109.   {
  110.    b1.setLabel("Start" );
  111.    sp1.reset_br();
  112.    dt1.resetScreenText();
  113.    vp1.resetVar();
  114.    rp1.resetReceiver();
  115.    acp1.resetAct();
  116.    sp1.toStart();
  117.    sp1.positionOfScrollbar (sp1.getLine());
  118.    sp1.myRepaint();
  119.    cs1.setStack();
  120.    cc1.setParent(this);
  121.   }
  122.   if(ch1.getSelectedItem()=="Personne" )
  123.   {
  124.                          ...........
  125.                         }
  126.                       return true;
  127.  }
  128.  return super.action(evt,what);
  129. }
  130. class DisplayText extends Canvas
  131. {
  132. int nbLine;
  133. protected Stack textDisplay;
  134. protected DisplayText()
  135. {
  136.  Color col = new Color(245, 245, 245);
  137.  setBackground(col);
  138.  textDisplay = new Stack() ;
  139. }
  140. /**This method allows to put in a textDisplay an element.*/
  141. public void putInScreen(String element)
  142. {
  143.  textDisplay.push(element);
  144.  repaint();
  145. }
  146. /**This method allows to reset the display in the screen.*/
  147. public void resetScreenText()
  148. {
  149.  while (textDisplay.empty() ==false)
  150.  {
  151.   textDisplay.pop();
  152.  }
  153.  repaint();
  154. }
  155. public void paint(Graphics g)
  156. {
  157.  Stack stack1= new Stack();
  158.  Stack stack2= new Stack();
  159.  String txt= new String();
  160.  txt= "Message displayed on the screen by the program";
  161.  g.setColor(Color.blue);
  162.  g.drawString(txt,0,10);
  163.  g.setColor(Color.black);
  164.  stack1 = (Stack)textDisplay.clone();
  165.  int i=0;
  166.  while (stack1.empty() ==false)
  167.  {
  168.   stack2.push ((String)stack1.pop());
  169.  }
  170.  while (stack2.empty() ==false)
  171.  {
  172.   g.drawString(((String)stack2.pop()).toString(),10,10*i+20);
  173.   i=i+1;
  174.  }
  175. }
  176. }
  177. .....
  178. .....
  179. .....
  180. class DisplayText extends Canvas
  181. {
  182. int nbLine;
  183. protected Stack textDisplay;
  184. protected DisplayText()
  185. {
  186.  Color col = new Color(245, 245, 245);
  187.  setBackground(col);
  188.  textDisplay = new Stack() ;
  189. }
  190. /**This method allows to put in a textDisplay an element.*/
  191. public void putInScreen(String element)
  192. {
  193.  textDisplay.push(element);
  194.  repaint();
  195. }
  196. /**This method allows to reset the display in the screen.*/
  197. public void resetScreenText()
  198. {
  199.  while (textDisplay.empty() ==false)
  200.  {
  201.   textDisplay.pop();
  202.  }
  203.  repaint();
  204. }
  205. public void paint(Graphics g)
  206. {
  207.  Stack stack1= new Stack();
  208.  Stack stack2= new Stack();
  209.  String txt= new String();
  210.  txt= "Message displayed on the screen by the program";
  211.  g.setColor(Color.blue);
  212.  g.drawString(txt,0,10);
  213.  g.setColor(Color.black);
  214.  stack1 = (Stack)textDisplay.clone();
  215.  int i=0;
  216.  while (stack1.empty() ==false)
  217.  {
  218.   stack2.push ((String)stack1.pop());
  219.  }
  220.  while (stack2.empty() ==false)
  221.  {
  222.   g.drawString(((String)stack2.pop()).toString(),10,10*i+20);
  223.   i=i+1;
  224.  }
  225. }
  226. }
  227. ....
  228. ....
  229. class CustomClass1 implements CustomInterface
  230. {
  231. FrameworkInterface parent=null;
  232. Stack returnline = new Stack();
  233. int program=1;
  234. public void setParent(FrameworkInterface parent)
  235. {
  236.  this.parent = parent;
  237.  String lines[]= new String[19];
  238. /************************************************************************/
  239.  if(parent.getProgram()=="RacineCarrée" )
  240.  {
  241.   program=1;
  242.  }
  243.  if(parent.getProgram()=="Personne" )
  244.  {
  245.   program=2;
  246.  }
  247. switch(program)
  248.      {
  249.      case 1:
  250.         lines[0] ="#include <stdio.h>";
  251.         lines[1] ="#include <math.h>";
  252.  lines[2] ="#define NFOIS 2";
  253.  lines[3] ="main (){";
  254.  lines[4] ="int a;";
  255.  lines[5] ="float x;";
  256.  lines[6] ="float racx;";
  257.  lines[7] ="printf (\"bonjour\" );";
  258.  lines[8] ="printf (\"je vais vous calculer %d racines carrées\", NFOIS);";
  259.  lines[9] ="for (a=0 ; a<NFOIS ; a++){";
  260.  lines[10]="printf (\"Donnez un nombre : \" );";
  261.  lines[11]="scanf (\"%f\", &x);";
  262.  lines[12]="if  (x < 0.0);";
  263.  lines[13]="printf (\"Le nombre %f n'a pas de racine carrée \", x);";
  264.  lines[14]="else { ";
  265.  lines[15]="racx = sqrt (x);";
  266.  lines[16]="printf (\"Le nombre %f a pour racine carrée : %f\"; x; racx);}}";
  267.  lines[17]="printf (\"Travail terminé - Au revoir\" );";
  268.                 lines[18]="}";
  269.  break;
  270.      case 2:
  271. {
  272. .....
  273. .....}
  274.            }//fin switch
  275.  parent.setText(lines);
  276. }//fin de setParent()
  277. public int executeLine(int line)
  278. {
  279.   Integer i1;
  280. /************************************************************************/
  281.  if(parent.getProgram()=="RacineCarrée" )
  282.  {
  283.   program=1;
  284.  }
  285.  if(parent.getProgram()=="Personne" )
  286.  {
  287.   program=2;
  288.  }
  289.             switch(program)
  290.      {
  291.      case 1:
  292.  switch (line)
  293.  {
  294.  case -1:
  295.   parent.resetAct();
  296.   parent.resetVar();
  297.   parent.changeAct("The program starts at the main" );
  298.   return 4;
  299.  case 4:
  300.                         parent.resetAct();
  301.   parent.changeAct("Declaration de la variable a" );
  302.          return 5;
  303.  case 5 :
  304.   parent.resetAct();
  305.   parent.initVar();
  306.   parent.createVar(0,"a","0" );
  307.                         parent.changeAct("Declaration de la variable x" );
  308.   return 6;
  309.                 case 6:         
  310.                         parent.resetAct();
  311.   parent.initVar();
  312.                         parent.createVar(1,"x","0" );
  313.                         parent.changeAct("Declaration de la variable racx" );
  314.                         return 7;
  315.                case 7:         
  316.                         parent.resetAct();
  317.   parent.initVar();
  318.                         parent.createVar(2,"racx","0" );
  319.   parent.changeAct("impression du mot Bonjour" );
  320.   return 8;
  321.               case 8 : 
  322.   parent.resetAct();
  323.   parent.addText("Bonjour" );
  324.   parent.changeAct("impression du nombre racx à calculer" );
  325.                         return 9;
  326.                case 9 : 
  327.                         parent.resetAct(); 
  328.                         parent.addText("Je vais vous calculer 2 racines carrées" );
  329.   parent.changeAct("les paramètres de la boucle for" );
  330.   return 10;
  331.      case 10 :
  332.   parent.resetAct();
  333.   parent.initVar();
  334.   parent.changeVar(0,"0" );
  335.                         parent.changeAct("impression du nombre" );
  336.                         return 11;
  337. case 11:
  338.   parent.resetAct();
  339.                         parent.addText("Donnez un nombre : " );
  340.                         parent.changeAct("Lecture du nombre  entré" );
  341.   return 12;
  342.              case 12 :
  343.   parent.resetAct();
  344.                         parent.addText("9" );
  345.   parent.initVar();
  346.                         parent.changeVar(1," 9" );
  347.   parent.changeAct("La condition imposée pour le x" );
  348.                         return 13;
  349.            
  350.             case 13:
  351.   parent.resetAct();
  352.   parent.initVar();
  353.                         parent.createVar(3,"condition","(x < 0.0)" );
  354.   parent.changeAct("Examination de la condition imposé pour x" );
  355.   return 15; 
  356.     case 15:
  357.   parent.resetAct();
  358.   parent.initVar();
  359.   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 :
  1. package saisie;
  2. import java.io.*;
  3. public class Clavier{
  4. public static String LireString(String message){
  5.   System.out.print(message+" : " );
  6.   String lecture = "";
  7.   try {
  8. lecture= new BufferReader(new InputStreamReader(System.in)).readLine();
  9.       }
  10.   catch (IOException erreur) { System.out.println("Problème à la saisie" );}
  11.   return lecture;
  12. }
  13. public static int LireInt(String message){
  14. return Integer.parseInt(LireString(message));
  15. }
  16. public static double LireDouble(String message){
  17. return Double.parseDouble(LireString(message));
  18. }
  19. public static char LireChar(String message){
  20. return LireString(message).chartAt(0);
  21. }
  22. }


je m'excuse pour la langueurede code,mais je n'ai pas pu faire autrement.
Merci d'avance.
 

Reply

Marsh Posté le 15-06-2005 à 17:13:09   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed