[Java] Besoin d'aide pour petits progs de debutante

Besoin d'aide pour petits progs de debutante [Java] - Java - Programmation

Marsh Posté le 08-01-2005 à 12:16:23    

salut à vous :)
je suis etudiante et je debute tout juste en java et j'avoue etre completement paumée . j'ai pas de prof physiquement present pour m'aider vu que je travaille par internet donc j'ai bcp de mal a comprendre  d'ou viennent mes erreurs ou les commandes a ecrire.
si vous pouviez m'aider pour mes exo ça serait formidable parce que je desespere:
 
1)Écrire un programme qui lit au clavier une suite de caractères et la stocke sous la forme d'une chaine. Ensuite, les caractères rangés dans cette chaine sont envoyés sur la console.
 
voila ce que j'ai fait et qui ne marche pas :/ Je comprends pas comment arriver a faire lire ma chaine au clavier , tous les truc que j'ai essayé ne marchent pas :(
 
import java.io.*;
public class LectureClavier2{
 public static void main(String[] args) throws IOException {
   
 
 InputStreamReader clavier=new InputStreamReader(System.in);
 BufferedReader in = new BufferedReader(clavier);
 String texte = in.readline();
 
 System.out.println("texte lu : "+texte);
 clavier.close();
 }
}
 
2)Écrire un programme qui crée une fenetre (JFrame) et qui affiche $n$ boutons portant les étiquettes BOUTON1, BOUTON2, etc. La valeur de $n$ sera lu au clavier.
 
pour l'instant j'ai ça :
  import java.awt.*;
 
public class MaFrame extends Frame {
 
   public MaFrame() {
      super();
      setTitle("  Fenetre   " );
      setSize(300, 150);
      setLayout(new FlowLayout());
      add(new Button("Bouton 1" ));
      add(new Button("Bouton 2" ));
      add(new Button("Bouton 3" ));
 
      pack();
 
      show(); // affiche la fenetre
 
   }
 
   public static void main(String[] args) {
   
      new MaFrame();
 
   }
 
}
 
Je suppose qu'il faudrait faire une boucle et une commande pour entrer le nombre de bouton au clavier. c'est surtout ça qui me bloque , je n'arrive pas a trouver comment entrer les valeur , phrases etc au clavier...
Et j'arrive pas non plus a le mettre en JFrame au lieu de Frame.
 
3) Écrire un programme qui crée une fenetre (de type JFrame) et qui détecte les évènements «appui» et «relachement» de la souris associés à la souris et ayant la fenetre comme source. On se contentera de signaler chacun de ces deux évènements en affichant en fenetre console un message précisant sa nature (appui ou relachement), ainsi que les coordonnées correspondantes.
 
La fenetre sera son propre écouteur de souris et elle implémente l'interface MouseListener.

j'ai fait ça :
import java.awt.*;  
import java.awt.event.*;
 
class GestionSouris extends MouseAdapter{  
 
 static public void main (String arg [ ]) {  
       Frame fenetre = new Frame("fenetre" );  
 
 fenetre.setSize(300,200);
 fenetre.add(new Label("bonjour" ));
        fenetre.show();  
        fenetre.pack();  
 }
 
 
public void mousePressed(MouseEvent e) {  
 
}
public void mouseReleased(MouseEvent e) {
}  
}  
Je n'arrive pas le mettre en JFrame , plus rien ne marche apres et je comprend pas comment faire apparaitre "appui" et "relachement".
 
Voilà
J'espere que vous pourrez m'aider:)


Message édité par la loute le 08-01-2005 à 12:17:10
Reply

Marsh Posté le 08-01-2005 à 12:16:23   

Reply

Marsh Posté le 08-01-2005 à 12:48:17    

pour ton 1) je pense que ca devrait marcher ... quand tu dis que ca marche pas ca veut dire quoi ? erreur de compile ? à l'execution ? si tu as une erreur, donnes nous le message ...
 
 
le clavier.close est inutile : tu ne peux pas fermer l'entrée standard ;)


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 08-01-2005 à 12:51:55    

pout ton 2), une fois que tu auras finis ton 1), tu auras juste à transformer ta chaine lu en entier (cf Integer.parseInt()), une fois que c'est lu, tu créés ta JFrame et tu l'affiches (taFrame.show()).
effectivement, il faudra que tu fasse une boucle pour ajouter les bouttons. Tu peux par exemple passer cet entier au constructeur de ta classe (si tu fais une classe qui hérite de JFrame) pour lui indiquer combien de boutons créer.
 
C'est quoi ton problême lorsque tu essaye d'utiliser une JFrame plutot qu'une Frame ?


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 08-01-2005 à 12:56:15    

3) ce qui t'es demandé de faire n'est pas terrible d'un point de vu objet ...
 
En fait, il faut que tu fasses ta classe qui hérite de JFrame comme dans le 2, mais qui implémente en plus MouseListener. Il faudra que tu ajoutes à ta classe les méthodes du MouseListener ...
 
Ensuite tu feras un addMouseListener(this) ce qui fait que ta classe sera elle même à l'écoute des évenements de souris qui se produiront sur elle ... Pour faire propre, on ferait plutot une inner classe poure gérer les évenements de souris, mais bon, ce n'est pas ce qui t'es demandé, et ce n'est peut être pas encore de ton niveau ....
 
Le MouseAdapter est juste une classe utilitaire qui évite d'avoir à réécrire toutes les méthodes du MouseListener quand on souhaite juste récupérer les "appuis" de bouton de souris par exemple.


Message édité par benou le 08-01-2005 à 12:57:18

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 08-01-2005 à 14:24:03    

merci de repondre si rapidement :)
 
Pour le 1) j'ai trouvé en fait c'est juste une histoire de majuscule (readline au lieu de readLine ..)
 
Pour les JFrame mon probleme c'est que apperemment il y a des commandes speciales pour JFrame qui ne sont pas les meme que pour Frame , et quand je les mets ça marche pas.
par exemple  
MaJFrame.getContentPane().setLayout(new FlowLayout());
ou alors
getContentPane().add(new Button("BOUTON"+i));
enfin voila
bon je vais aller essayer ce que tu m'as dit :)

Reply

Marsh Posté le 08-01-2005 à 14:31:28    

je te conseille de lire le tutorial de sun (tu trouveras le lien dans la javadoc de JFrame)


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Sujets relatifs:

Leave a Replay

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