[JAVA] - Récupérer le contenu d'un champ

- Récupérer le contenu d'un champ [JAVA] - Java - Programmation

Marsh Posté le 28-01-2003 à 19:59:47    

salut, je butte décidément beaucoup sur mon projet....
 
je n'arrive à récupérer le contenu d'un champ :/
 
 
vous n'auriez pas la technique pour faire ça ?
 
les champs sont des champs de texte


---------------
http://www.zytratech.com
Reply

Marsh Posté le 28-01-2003 à 19:59:47   

Reply

Marsh Posté le 28-01-2003 à 20:06:45    

zytrahus5 a écrit :

salut, je butte décidément beaucoup sur mon projet....
 
je n'arrive à récupérer le contenu d'un champ :/
 
 
vous n'auriez pas la technique pour faire ça ?
 
les champs sont des champs de texte


 
si ton champ texte est de type JTextArea, t'as la méthode getText(). sinon précise le type exact.

Reply

Marsh Posté le 28-01-2003 à 20:19:37    

gloop a écrit :


 
si ton champ texte est de type JTextArea, t'as la méthode getText(). sinon précise le type exact.

JTextField c'est le type... est ce que c'est getText aussi ?


---------------
http://www.zytratech.com
Reply

Marsh Posté le 28-01-2003 à 20:25:00    

j'ai essayé getText() voilà ce qu'il me sort :
 

Exception occurred during event dispatching:
java.lang.NullPointerException
 at mvt_planete.ajout_planete.actionPerformed(ajout_planete.java:99)
 at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1450)
 at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1504)
 at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:378)
 at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:250)
 at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:216)
 at java.awt.Component.processMouseEvent(Component.java:3717)
 at java.awt.Component.processEvent(Component.java:3546)
 at java.awt.Container.processEvent(Container.java:1167)
 at java.awt.Component.dispatchEventImpl(Component.java:2595)
 at java.awt.Container.dispatchEventImpl(Container.java:1216)
 at java.awt.Component.dispatchEvent(Component.java:2499)
 at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2458)
 at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2223)
 at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2132)
 at java.awt.Container.dispatchEventImpl(Container.java:1203)
 at java.awt.Window.dispatchEventImpl(Window.java:918)
 at java.awt.Component.dispatchEvent(Component.java:2499)
 at java.awt.EventQueue.dispatchEvent(EventQueue.java:336)
 at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:134)
 at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:101)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:96)
 at java.awt.EventDispatchThread.run(EventDispatchThread.java:88)

:cry:  :cry:  :cry:  :cry:


Message édité par zytrahus5 le 28-01-2003 à 20:26:57

---------------
http://www.zytratech.com
Reply

Marsh Posté le 28-01-2003 à 20:27:21    

c'est aussi getText(). En fait, les 2 classes (JTextArea et JTextField) héritent de JTextComponent et getText() est défini dans JTextComponent

Reply

Marsh Posté le 28-01-2003 à 20:28:08    

gloop a écrit :

c'est aussi getText(). En fait, les 2 classes (JTextArea et JTextField) héritent de JTextComponent et getText() est défini dans JTextComponent

bah pourquoi j'ai cette erreur alors ? :cry:  :cry:  :cry:


---------------
http://www.zytratech.com
Reply

Marsh Posté le 28-01-2003 à 20:29:02    

zytrahus5 a écrit :

j'ai essayé getText() voilà ce qu'il me sort :
 

Exception occurred during event dispatching:
java.lang.NullPointerException
 at mvt_planete.ajout_planete.actionPerformed(ajout_planete.java:99)
 at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1450)
 at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1504)
 at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:378)
 at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:250)
 at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:216)
 at java.awt.Component.processMouseEvent(Component.java:3717)
 at java.awt.Component.processEvent(Component.java:3546)
 at java.awt.Container.processEvent(Container.java:1167)
 at java.awt.Component.dispatchEventImpl(Component.java:2595)
 at java.awt.Container.dispatchEventImpl(Container.java:1216)
 at java.awt.Component.dispatchEvent(Component.java:2499)
 at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2458)
 at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2223)
 at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2132)
 at java.awt.Container.dispatchEventImpl(Container.java:1203)
 at java.awt.Window.dispatchEventImpl(Window.java:918)
 at java.awt.Component.dispatchEvent(Component.java:2499)
 at java.awt.EventQueue.dispatchEvent(EventQueue.java:336)
 at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:134)
 at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:101)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:96)
 at java.awt.EventDispatchThread.run(EventDispatchThread.java:88)

:cry:  :cry:  :cry:  :cry:  


 
C'est normal
si tu regardes la doc, c'est marqué que si le contenu est null (en gros si y a rien dedans) une exception NullPointerException est lancée. Faut que tu la captures et c'est bon.

Reply

Marsh Posté le 28-01-2003 à 20:30:28    

bah pourtant, il est pas vide.... du moins pas celui là...
 
faut que tous les joints soient non vides ? meme ceux que je n'appelle pas avec getText ?


---------------
http://www.zytratech.com
Reply

Marsh Posté le 28-01-2003 à 20:32:26    

meme quand les champs sont pleins ça fait ça :/
 
mon code :
 


../..
 //Création de la fenetre
      JPanel pane = new JPanel();
 
      //définition des différents champs et étiquettes utilisés
      JLabel titre_nom = new JLabel("Nom" );
      JTextField champ_nom = new JTextField("Planete_"+n,10);
      JLabel titre_masse = new JLabel("Masse" );
      JTextField champ_masse = new JTextField(10);
      JLabel titre_posx = new JLabel("Position X" );
      JTextField champ_posx = new JTextField(10);
      JLabel titre_posy = new JLabel("Position Y" );
      JTextField champ_posy = new JTextField(10);
      JLabel titre_vitx = new JLabel("Vitesse X" );
      JTextField champ_vitx = new JTextField(10);
      JLabel titre_vity = new JLabel("Vitesse Y" );
      JTextField champ_vity = new JTextField(10);
 
      valid = new JButton("Valider" );
      valid.addActionListener (this);
 
      pane.add("",titre_nom);
      pane.add("",champ_nom);
      pane.add("",titre_masse);
      pane.add("",champ_masse);
      pane.add("",titre_posx);
      pane.add("",champ_posx);
      pane.add("",titre_posy);
      pane.add("",champ_posy);
      pane.add("",titre_vitx);
      pane.add("",champ_vitx);
      pane.add("",titre_vity);
      pane.add("",champ_vity);
 
      pane.add("",valid);
      this.setContentPane(pane);
 
 
 
 
../..
 
test = champ_nom.getText();


Message édité par zytrahus5 le 28-01-2003 à 20:32:40

---------------
http://www.zytratech.com
Reply

Marsh Posté le 28-01-2003 à 20:32:38    

balance le code où ca foire.
oups c'est déjà fait  :sol:


Message édité par gloop le 28-01-2003 à 20:33:08
Reply

Marsh Posté le 28-01-2003 à 20:32:38   

Reply

Marsh Posté le 28-01-2003 à 20:34:22    

ouinnnnnnnn mon code est pourri :/ :cry:  :cry:  :cry:  :sweat:


---------------
http://www.zytratech.com
Reply

Marsh Posté le 28-01-2003 à 20:35:24    

ajoute la gestion d'erreurs et dis ce que ca donne

Reply

Marsh Posté le 28-01-2003 à 20:36:15    

gloop a écrit :

ajoute la gestion d'erreurs et dis ce que ca donne
 

c'est quoi, je ne connais pas :/


---------------
http://www.zytratech.com
Reply

Marsh Posté le 28-01-2003 à 20:37:40    

zytrahus5 a écrit :

c'est quoi, je ne connais pas :/


 
:ouch:

Reply

Marsh Posté le 28-01-2003 à 20:38:21    

Reply

Marsh Posté le 28-01-2003 à 20:39:06    


 
Exception, try, catch, finally, ca te dit rien ?

Reply

Marsh Posté le 28-01-2003 à 20:39:28    

zytrahus5 a écrit :

c'est quoi, je ne connais pas :/


la capture des exceptions
 

Code :
  1. try
  2. {
  3.    test = champ_nom.getText();
  4. }
  5. catch (NullPointerException e)
  6. {
  7.    /* gestion de l'erreur */
  8. }

Reply

Marsh Posté le 28-01-2003 à 20:42:45    

du coup, il ne me sort plus d'erreur :/


---------------
http://www.zytratech.com
Reply

Marsh Posté le 28-01-2003 à 20:45:54    

zytrahus5 a écrit :

du coup, il ne me sort plus d'erreur :/


 
ben forcément puisque tu viens de catcher ("attraper" ) l'erreur ...
tu veux pas lire la doc ? [:dawa]

Reply

Marsh Posté le 28-01-2003 à 20:49:47    

HappyHarry a écrit :


 
ben forcément puisque tu viens de catcher ("attraper" ) l'erreur ...
tu veux pas lire la doc ? [:dawa]

:/ je fais ce projet comme je peux, on a eu aucun cours, ils nous balancent ça... j'y peux rien, s'ils en m'ont pas formé :/
 
 
je sais pas comment faire....
 
ça sert à quoi ce catch au juste ??


---------------
http://www.zytratech.com
Reply

Marsh Posté le 28-01-2003 à 20:51:58    

voilà mon code :
 
 
 

package mvt_planete;
 
import java.util.Vector;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.geom.Point2D;
 
/*
*/
 
/**
 * Titre :        Mouvement Planete
 * Description :
 * Copyright :    Copyright (c) 2002
 * Société :
 * @author
 * @version 1.0
 */
 
public class ajout_planete extends JFrame implements ActionListener {
JButton valid;
JLabel titre_nom;
JTextField champ_nom;
JLabel titre_masse;
JTextField champ_masse;
JLabel titre_posx;
JTextField champ_posx;
JLabel titre_posy;
JTextField champ_posy;
JLabel titre_vitx;
JTextField champ_vitx;
JLabel titre_vity;
JTextField champ_vity;
 
 
static Planete new_planete;
 
 
 public ajout_planete() {
 
      int n=1;
      //Objet planete qui contiendra toutes les valeurs des champs
      Planete new_planete = new Planete();
 
 
      //Création de la fenetre
      JPanel pane = new JPanel();
 
      //définition des différents champs et étiquettes utilisés
      JLabel titre_nom = new JLabel("Nom" );
      JTextField champ_nom = new JTextField("Planete_"+n,10);
      JLabel titre_masse = new JLabel("Masse" );
      JTextField champ_masse = new JTextField(10);
      JLabel titre_posx = new JLabel("Position X" );
      JTextField champ_posx = new JTextField(10);
      JLabel titre_posy = new JLabel("Position Y" );
      JTextField champ_posy = new JTextField(10);
      JLabel titre_vitx = new JLabel("Vitesse X" );
      JTextField champ_vitx = new JTextField(10);
      JLabel titre_vity = new JLabel("Vitesse Y" );
      JTextField champ_vity = new JTextField(10);
 
      valid = new JButton("Valider" );
      valid.addActionListener (this);
 
      pane.add("",titre_nom);
      pane.add("",champ_nom);
      pane.add("",titre_masse);
      pane.add("",champ_masse);
      pane.add("",titre_posx);
      pane.add("",champ_posx);
      pane.add("",titre_posy);
      pane.add("",champ_posy);
      pane.add("",titre_vitx);
      pane.add("",champ_vitx);
      pane.add("",titre_vity);
      pane.add("",champ_vity);
 
      pane.add("",valid);
      this.setContentPane(pane);
 
 
      }
 
 // Gestion des réponses aux évènements
 public void actionPerformed (ActionEvent evt )
 { Object src=evt.getSource(); // source des évènements (boutons)
String test;
   if (src==valid) // LANCE LA FENETRE D AJOUT DE PLANETE...
   {
     WindowListener l = new WindowAdapter()
     { public void windowclosing() { System.exit(0);} };
     
 
       //Remplir ici les variables par les champs
 
       //new_planete._nom = champ_nom.getText();
 
 
       test = champ_nom.getText();
 
       //new_planete._masse = (new Double( champ_masse.getText() )).doubleValue();
 
        System.out.println("essai"+test);
 
 
 
 
       }
 }
 
public static Planete renvoi_planete ()
      {
      return(new_planete);
      }
}


---------------
http://www.zytratech.com
Reply

Marsh Posté le 28-01-2003 à 20:54:50    

zytrahus5 a écrit :

:/ je fais ce projet comme je peux, on a eu aucun cours, ils nous balancent ça... j'y peux rien, s'ils en m'ont pas formé :/
 
 
je sais pas comment faire....
 
ça sert à quoi ce catch au juste ??


 
pour faire court:
quand tu veux signaler une erreur, tu la lances:
 

Code :
  1. throw new MonException ();

 
Pour toutes les parties pouvant générer des erreurs tu le mets dans un bloc try. Les catch permettent de choper les erreurs envoyés par throw
 

Code :
  1. try
  2. {
  3.    /* .... */
  4. }
  5. catch (Exception e)
  6. {
  7.    /* Une exception est générée */
  8. }

 
 
toutes les exceptions sont des objets de classes héritées de Exception ou qui implément l'interface Throwable.

Reply

Marsh Posté le 28-01-2003 à 20:54:54    

hé merde je vais faillir a mes bonnes résolutions de la nouvelle année ...
 
t'as pas eu de formation ? et ben tu te la fais toi meme !!!
la doc elle est dispo, y a plein de tutos, y a des bouquins, t'as qu'a lire
 
ton code je m'en tamponne, j'vais meme pas le lire ...
 
 [:sh%40rdar]

Reply

Marsh Posté le 28-01-2003 à 20:58:47    

gloop a écrit :


 
pour faire court:
quand tu veux signaler une erreur, tu la lances:
 

Code :
  1. throw new MonException ();

 
Pour toutes les parties pouvant générer des erreurs tu le mets dans un bloc try. Les catch permettent de choper les erreurs envoyés par throw
 

Code :
  1. try
  2. {
  3.    /* .... */
  4. }
  5. catch (Exception e)
  6. {
  7.    /* Une exception est générée */
  8. }

 
 
toutes les exceptions sont des objets de classes héritées de Exception ou qui implément l'interface Throwable.
 

merci pour le coup de main. je laisse tomber.


---------------
http://www.zytratech.com
Reply

Marsh Posté le 28-01-2003 à 21:03:21    

moi je l'ai lu.
 
c'est une erreur classique : tu t'es trompé lors de l'initialisation : tu as déclaré un JTextField champ_nom local à la place d'initialiser l'attribut de ta classe du même nom => il reste vide => NullPointerException quand tu appelles getText dessus.
 
pour eviter ce genre de bourde, j'ai pris toujours mettre this.leNomDeLAttribut quand je fais référence à un attribut de la classe.

Reply

Marsh Posté le 28-01-2003 à 21:05:32    

benou a écrit :

moi je l'ai lu.
 
c'est une erreur classique : tu t'es trompé lors de l'initialisation : tu as déclaré un JTextField champ_nom local à la place d'initialiser l'attribut de ta classe du même nom => il reste vide => NullPointerException quand tu appelles getText dessus.
 
pour eviter ce genre de bourde, j'ai pris toujours mettre this.leNomDeLAttribut quand je fais référence à un attribut de la classe.
 

merci c'est gentil, je vais essayer de corriger :hello:


---------------
http://www.zytratech.com
Reply

Marsh Posté le 28-01-2003 à 21:07:57    

benou a écrit :

moi je l'ai lu.
 
c'est une erreur classique : tu t'es trompé lors de l'initialisation : tu as déclaré un JTextField champ_nom local à la place d'initialiser l'attribut de ta classe du même nom => il reste vide => NullPointerException quand tu appelles getText dessus.
 
pour eviter ce genre de bourde, j'ai pris toujours mettre this.leNomDeLAttribut quand je fais référence à un attribut de la classe.
 

c'est bon, encore merci de ton aide.


---------------
http://www.zytratech.com
Reply

Marsh Posté le 28-01-2003 à 21:08:07    

zytrahus5 a écrit :

merci c'est gentil, je vais essayer de corriger :hello:  


pourquoi essayer ???
 
t'as juste à virer les noms de classe devant les attributs que tu initialise dans la méthode ajout_planete(). Ca va marcher après !

Reply

Marsh Posté le 28-01-2003 à 21:08:54    

zytrahus5 a écrit :

c'est bon, encore merci de ton aide.


ok. de rien ! :)

Reply

Marsh Posté le 28-01-2003 à 21:19:02    

j'ai fait de meme pour tous les attributs, mais par contre, il me ressort la meme erreur exactement pour la conversion, pourtant, les champs sont pas vides :/
 
j'ai tapé ça pour la conversion :
 

ew_planete._masse = (new Double( champ_masse.getText() )).doubleValue();
       new_planete._position.x = (new Double( champ_posx.getText() )).doubleValue();
       new_planete._position.y = (new Double( champ_posy.getText() )).doubleValue();
       new_planete._vitesse.x = (new Double( champ_vitx.getText() )).doubleValue();
       new_planete._vitesse.y = (new Double( champ_vity.getText() )).doubleValue();


---------------
http://www.zytratech.com
Reply

Marsh Posté le 28-01-2003 à 21:23:14    

je crois avoir trouvé, _position et _vitesse sont des Point2D.Double
 
peut etre que j'ai pas le droit de mettre ".x" derriere ?


---------------
http://www.zytratech.com
Reply

Marsh Posté le 28-01-2003 à 21:25:06    

j'ai remplacé par ça et ça marche :)
 

new_planete._position = new Point2D.Double( (new Double( champ_posx.getText() )).doubleValue() , (new Double( champ_posy.getText() )).doubleValue());


---------------
http://www.zytratech.com
Reply

Marsh Posté le 28-01-2003 à 21:27:48    

si t'as le droit. A condition d'avoir initialisé le Double à l'avance :
 
new_planete._position = new Point2D.Double();
new_planete._position.x = Double.parseDouble(champ_posx.getText();  
new_planete._position.y = Double.parseDouble(champ_posy.getText();  

Reply

Marsh Posté le 28-01-2003 à 21:28:38    

Pour les conversions t'as un peu plus simple
 

Code :
  1. Double.valueOf (chaine);

 
sinon tu peux utiliser les champs x et y de Point2D.Double car ils sont public. Si t'avais pas pu , la compilateur aurait gueulé

Reply

Marsh Posté le 28-01-2003 à 21:28:47    

zytrahus5 a écrit :

j'ai remplacé par ça et ça marche :)
 

new_planete._position = new Point2D.Double( (new Double( champ_posx.getText() )).doubleValue() , (new Double( champ_posy.getText() )).doubleValue());




ca revient au même que ce que je te disais ...

Reply

Marsh Posté le 28-01-2003 à 22:22:47    

est ce que vous avez une idée de comment renvoyer un objet de type Planete à la classe qui l'a appelé ?
 
 
parce que j'ai essayé des trucs, mais ils n'entrent jamais dans les méthodes que j'ai créées.
 
par exemple voilà ce que j'ai fait :
 
(je voudrais renvoyer l'objet new_planete :
 

package mvt_planete;
 
import java.util.Vector;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.geom.Point2D;
 
/*
*/
 
/**
 * Titre :        Mouvement Planete
 * Description :
 * Copyright :    Copyright (c) 2002
 * Société :
 * @author
 * @version 1.0
 */
 
public class ajout_planete extends JFrame implements ActionListener {
JButton valid;
JLabel titre_nom;
JTextField champ_nom;
JLabel titre_masse;
JTextField champ_masse;
JLabel titre_posx;
JTextField champ_posx;
JLabel titre_posy;
JTextField champ_posy;
JLabel titre_vitx;
JTextField champ_vitx;
JLabel titre_vity;
JTextField champ_vity;
 
 
static Planete new_planete;
 
 
 public ajout_planete() {
 
      int n=1;
      //Objet planete qui contiendra toutes les valeurs des champs
      new_planete = new Planete();
 
 
      //Création de la fenetre
      JPanel pane = new JPanel();
 
      //définition des différents champs et étiquettes utilisés
      titre_nom = new JLabel("Nom" );
      champ_nom = new JTextField("Planete_"+n,10);
      champ_nom.setEditable(true);
      titre_masse = new JLabel("Masse" );
      champ_masse = new JTextField(10);
      champ_masse.setEditable(true);
      titre_posx = new JLabel("Position X" );
      champ_posx = new JTextField(10);
      champ_posx.setEditable(true);
      titre_posy = new JLabel("Position Y" );
      champ_posy = new JTextField(10);
      champ_posy.setEditable(true);
      titre_vitx = new JLabel("Vitesse X" );
      champ_vitx = new JTextField(10);
      champ_vitx.setEditable(true);
      titre_vity = new JLabel("Vitesse Y" );
      champ_vity = new JTextField(10);
      champ_vity.setEditable(true);
 
      valid = new JButton("Valider" );
      valid.addActionListener (this);
 
      pane.add("",titre_nom);
      pane.add("",champ_nom);
      pane.add("",titre_masse);
      pane.add("",champ_masse);
      pane.add("",titre_posx);
      pane.add("",champ_posx);
      pane.add("",titre_posy);
      pane.add("",champ_posy);
      pane.add("",titre_vitx);
      pane.add("",champ_vitx);
      pane.add("",titre_vity);
      pane.add("",champ_vity);
 
      pane.add("",valid);
      this.setContentPane(pane);
 
 
      }
 
 // Gestion des réponses aux évènements
 public void actionPerformed (ActionEvent evt )
 { Object src=evt.getSource(); // source des évènements (boutons)
 
   if (src==valid) // LANCE LA FENETRE D AJOUT DE PLANETE...
   {
     WindowListener l = new WindowAdapter()
     { public void windowclosing() { System.exit(0);} };
 
       //Remplir ici les variables par les champs
       new_planete._nom = champ_nom.getText();
       new_planete._masse = (new Double( champ_masse.getText() )).doubleValue();
       new_planete._position = new Point2D.Double( (new Double( champ_posx.getText() )).doubleValue() , (new Double( champ_posy.getText() )).doubleValue());
       new_planete._vitesse = new Point2D.Double( (new Double( champ_vitx.getText() )).doubleValue() , (new Double( champ_vity.getText() )).doubleValue());
 
 
       }
 }
 
public static Planete renvoi_planete ()
      {
      return(new_planete);
      }
}


 
 
je crois que la méthode que j'ai créé en bas ne sert à rien...
 
le probleme c'est que la methode actionPerformed je peux pas la modifier et lui dire de renvoyer autre chose que void....
 
 
si vous avez une petite idée... :sweat:


---------------
http://www.zytratech.com
Reply

Marsh Posté le 28-01-2003 à 22:31:14    

c'est pas clair ton truc ...
 
c'est qui la classe qui l'a appelée ?

Reply

Marsh Posté le 28-01-2003 à 23:09:10    

benou a écrit :

c'est pas clair ton truc ...
 
c'est qui la classe qui l'a appelée ?

la classe elle s'appelle saisie, c'est elle qui appelle ajout_planete
 
voici saisie :
 

package mvt_planete;
 
import java.util.Vector;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.geom.Point2D;
 
/*
*/
 
public class Saisie extends JFrame implements ActionListener
// Héritage de JFrame et implémentation des écouteurs d'évènements
{
  JButton _bajoutpla;
  JButton _bmodifpla;
  JButton _bsupripla;
  JButton _bquitsaisie;
 
  Vector tab_planetes;
  Planete get_planete;
 
 public Saisie()
 { super("Saisie des données" );
   //Création de l'objet récupérant la nouvelle planete entrée
   Planete get_planete = new Planete();
 
   //Allocation du vecteur Contenant les Planetes
   Vector tab_planetes = new Vector();
 
 
   // Création de la fenêtre psaisie + Division classique NSEWC
   JPanel psaisie = new JPanel();
 
   // Création des boutons + Activation des écouteurs d'évènements liés aux boutons
   _bajoutpla = new JButton("Ajout de planète" );
   _bajoutpla.addActionListener (this);
   _bmodifpla = new JButton("Modification d'une planète" );
   _bmodifpla.addActionListener (this);
   _bsupripla = new JButton("Superssion d'une planète" );
   _bsupripla.addActionListener (this);
   _bquitsaisie = new JButton("   Fin de la saisie   " );
   _bquitsaisie.addActionListener (this);
 
   // Ajout des boutons à la fenêtre psaisie
   psaisie.add("",_bajoutpla);
   psaisie.add("",_bmodifpla);
   psaisie.add("",_bsupripla);
   psaisie.add("",_bquitsaisie);
   this.setContentPane(psaisie);
 }
 
 // Gestion des réponses aux évènements
 public void actionPerformed (ActionEvent evt )
 { Object src=evt.getSource(); // source des évènements (boutons)
 
 int Nb_planete = 0;
 
 
   if (src==_bajoutpla) // LANCE LA FENETRE D AJOUT DE PLANETE...
   {
     //incrémente le compteur de planete entrée.
     Nb_planete++;
 
     //Ouvre la fenetre ajout_planete
     ajout_planete ajout = new ajout_planete();
 
     //récupère la nouvelle planete
     get_planete = ajout_planete.renvoi_planete();
 
 
     WindowListener l = new WindowAdapter()
     { public void windowclosing() { System.exit(0);} };
 
       // Activation des écouteurs d'évènements liés aux boutons dans frame
       ajout.addWindowListener ( l );
 
       // Affichage propre de osaisie
       ajout.resize(640,90);
       Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
       Dimension frameSize = ajout.getSize();
       if (frameSize.height > screenSize.height) frameSize.height = screenSize.height;
       if (frameSize.width > screenSize.width) frameSize.width = screenSize.width;
       ajout.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/5);
       ajout.setVisible(true);
       }
 
 
 
 
 
 
 
 
 
 
 
   if (src==_bmodifpla)
   { //setVisible(false); // fermeture de la fenêtre
   }
   if (src==_bsupripla)
   { //setVisible(false); // fermeture de la fenêtre
   }
   if (src==_bquitsaisie)
   { setVisible(false); // fermeture de la fenêtre osimu
 
     // Affichage propre de oprincipale
     Principale oprincipale = new Principale();
     oprincipale.resize(500,100);
     Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
     Dimension frameSize = oprincipale.getSize();
     if (frameSize.height > screenSize.height) frameSize.height = screenSize.height;
     if (frameSize.width > screenSize.width) frameSize.width = screenSize.width;
     oprincipale.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
     oprincipale.setVisible(true);
   }
 }
 
 // Sortie en fermant la fenêtre (X) : retour sur le menu principal
 protected void processWindowEvent(WindowEvent e)
 { super.processWindowEvent(e);
   if (e.getID() == WindowEvent.WINDOW_CLOSING)
   { Principale Xretour = new Principale();
     // Affichage propre de retour
     Xretour.resize(500,100);
     Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
     Dimension frameSize = Xretour.getSize();
     if (frameSize.height > screenSize.height) frameSize.height = screenSize.height;
     if (frameSize.width > screenSize.width) frameSize.width = screenSize.width;
     Xretour.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
     Xretour.setVisible(true);
   }
 }
 
}


 
 
ce sont deux classes graphiques, saisie appelle ajout_planete saisie ensuite récupère l'objet créé par ajout_planete


---------------
http://www.zytratech.com
Reply

Marsh Posté le 29-01-2003 à 01:33:27    

zytrahus5 a écrit :

j'ai remplacé par ça et ça marche :)
 

new_planete._position = new Point2D.Double( (new Double( champ_posx.getText() )).doubleValue() , (new Double( champ_posy.getText() )).doubleValue());



[:totoz]
 
darklord, ça te rappelle rien ce code? :lol:


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 29-01-2003 à 07:25:11    

Je me demandais juste comment il était possible qu'on vous donne un projet Java si vous n'avez pas eu de cours avant. Pourquoi ?


---------------
Le site de ma maman
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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