Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1301 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Saisie au clavier dans le paneau écran d'applet

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Saisie au clavier dans le paneau écran d'applet

n°1121105
radi71
Posté le 15-06-2005 à 17:13:09  profilanswer
 

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.
 

mood
Publicité
Posté le 15-06-2005 à 17:13:09  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Saisie au clavier dans le paneau écran d'applet

 

Sujets relatifs
Applet Gnome GTKAccess vba : ajuster un formulaire à la résolution écran
Photos satellite en plein écran[applet]modelisation+jeu d'echec
saisie de chaine au clavier sans affichage de celle ci??saisie de chaine au clavier sans affichage de celle-ci??
Masque de saisie pour des datesOuvrir fenetre à droite de l'écran
Plus de sujets relatifs à : Saisie au clavier dans le paneau écran d'applet


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR