IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

boites de dialogues


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 24
    Par défaut boites de dialogues
    Bonjour,
    j'aimerai écrire un programme simple qui affiche une boîte de dialogue, demande de saisir un mot. Une fois le mot entré, un nouvelle boite de dialogue se lance et écrit ce mot en inverse (c'est a dire "java" devient "avaj")

    Mais j'ai 2 problemes:
    -d'une part j'ai des erreurs sur "reponse" car le prg me dit que tabInverse n'a pas été initialisé, mais je n'arrive pas à le faire... j'ai bien rentré manuellement des valeurs de tabInverse[0] et tabInverse[1] pour initialiser, mais ca ne marche pas
    -si j'enlève la partie d'inversion de chaine, je n'ai plus d'errur, mais quand je veux compiler, le compilateur (eclipse) me dit "selection does not contain a main type".. mais il y en a un de main dans "Dialogue" ??

    si vous pouviez me débloquer...
    merci

    "Dialogue"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    import java.util.* ;
    import javax.swing.* ;
    import java.awt.*;
    import java.awt.event.*;
     
    public class Dialogue 
    {
    	private JFrame fen = new JFrame("Boite De Dialogue"); //creation d'une fenetre
    	public String txt;
    	/**
             * fonction main qui cree juste un nouvel objet
             * @param s
             */
    	public void main(String[] args)
    	{
    		new Dialogue();
    	}
     
    	/**
             * le constructeur de Dialogue
             */
    	public Dialogue()
    	{
    		 JPanel panneauPrinc = new JPanel( new BorderLayout() );
     
    		 txt = JOptionPane.showInputDialog(null,"taper un mot");
     
    		 System.out.println(txt);
     
    		 fen.setContentPane(panneauPrinc);
    		 fen.pack();
    		 fen.setVisible(true);	
     
    	}
    }
    "reponse"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    import java.util.* ;
    import javax.swing.* ;
    import java.awt.*;
    import java.awt.event.*;
     
    public class Reponse extends Dialogue
    {
    	private JFrame fen2 = new JFrame("Boite De Dialogue"); //creation d'une fenetre pour la reponse
     
    	/**
             * le constructeur de Reponse
             */
    	public Reponse()
    	{
    		 char[] txtInverse;
    		 int i=0;
    		 int taille=txt.length();
    		 do
    		 {
    			 txtInverse[taille-i]=txt.charAt(i);
    			 i++;
    		 }
    		 while(txtInverse[taille-i]!='\0');
     
    		 JPanel panneauPrinc = new JPanel(new BorderLayout());
    		 panneauPrinc.add(new Label(txt));
     
    		 System.out.println(txt);
     
    		 fen2.setContentPane(panneauPrinc);
    		 fen2.pack();
    		 fen2.setVisible(true);			 
    	}
    }

  2. #2
    Membre très actif Avatar de unknow0
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 452
    Par défaut
    Bonjour,

    ton main doit etre declarer static

    ensuite ton tableau de char n'et pas initialiser :
    char[] txtInverse=new char[taill_des_donner];

    cordialement

  3. #3
    Membre averti
    Inscrit en
    Février 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 24
    Par défaut
    Merci, maintenant ca compile et ca s'exécute...mais pas comme je le voudrais: en effet, je n'ai pas mes 2 fenetres: seule la premieère , qui demande un mot, s'affiche, et la 2nde non...

    Puisque la 2nde fenetre se sert de ce qu'on rentre dan la 1ere, peur etre faudrait il endormir le programme... (mais ca ne marcherai pas a tous els coups, car si on met un temps fixe et qu'on est un peu long a rentrer le mot, ca ne marchera pas...)

    Vous pensez que ca peut etre ca le probleme ?

    Si oui, comment fait on pour endormir le programme ?
    j'ai cherché sur internet, et j'ai rentré dans mon programme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Thread.sleep(1000);
    try{}
    catch(InterruptedException e){}
    mais ca me fait des erreurs ???
    savez vous comment programmer un sleep ?

    merci encore

  4. #4
    Membre averti
    Inscrit en
    Février 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 24
    Par défaut
    il y a peut etre de ca , mais je pense qu'il y a aussi un gros probleme ailleurs: je n'appelle jamais la classe "Reponse"... je pense que c'est pour cela que tout ce qui doit se passe dans la callse Réponse ne s produit pas (pas de fenetre cree, ni de println...)

    j'ai déplacé le main dans la classe "Reponse" qui hérite de "Dialogue", et j'essaie de créer un new Dialogue... mais ca me crée une erreur ("delete this token" sur le new) ???
    Je dois avoir fait une erreur de raisonnement mais où ??

    le code "corrigé" donne:

    Dialogue:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    import java.util.* ;
    import javax.swing.* ;
    import java.awt.*;
    import java.awt.event.*;
     
    public class Dialogue 
    {
    	private JFrame fen = new JFrame("Boite De Dialogue"); //creation d'une fenetre
     
    	public String txt;
    	/**
             * fonction main qui cree juste un nouvel objet
             * @param s
             */
     
     
    	/**
             * le constructeur de Dialogue
             */
    	public Dialogue()
    	{
    		 JPanel panneauPrinc = new JPanel( new BorderLayout() );
     
    		 txt = JOptionPane.showInputDialog(null,"taper un mot");
     
    		 System.out.println("dialogue:"+txt);
     
    		 fen.setContentPane(panneauPrinc);
    		 fen.pack();
    		 fen.setVisible(true);	
     
    	}
    }
    et Reponse:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    import java.util.* ;
    import javax.swing.* ;
    import java.awt.*;
    import java.awt.event.*;
     
    public class Reponse extends Dialogue
    {
    	private JFrame fen2 = new JFrame("Boite De Dialogue"); //creation d'une fenetre pour la reponse
     
    	public static void main(String[] args)
    	{
    		new Reponse();
    	}
     
    	public Dialogue dialog = new Dialogue; // erreur ici
     
    	/**
             * le constructeur de Reponse
             */
    	public Reponse()
    	{
    		 /**Thread.sleep(1000);
                     try{}
                     catch(InterruptedException e){}*/
     
    		 char[] txtInverse=new char[10];
    		 int i=0;
    		 int taille=txt.length();
    		 do
    		 {
    			 txtInverse[taille-i]=txt.charAt(i);
    			 i++;
    		 }
    		 while(txtInverse[taille-i]!='\0');
     
    		 JPanel panneauPrinc = new JPanel(new BorderLayout());
    		 //panneauPrinc.add(new Label(txtInverse));
     
    		 System.out.println("le texte est"+txtInverse);
     
    		 fen2.setContentPane(panneauPrinc);
    		 fen2.pack();
    		 fen2.setVisible(true);			 
    	}
     
     
    }
    merci

  5. #5
    Membre très actif Avatar de unknow0
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 452
    Par défaut
    heu avec les parentaise ce devrai aller mieu
    public Dialogue dialog = new Dialogue();

    Cordialement

  6. #6
    Membre averti
    Inscrit en
    Février 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 24
    Par défaut


    merci, je le voyais pas...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pb plusieurs boites de dialogues
    Par schnito dans le forum MFC
    Réponses: 10
    Dernier message: 25/02/2004, 21h44
  2. [MFC] rendre une boite de dialogue inactive
    Par Vestaproman dans le forum MFC
    Réponses: 8
    Dernier message: 22/01/2004, 14h09
  3. Affichage d'une boite de dialogue nonmodale avec MFC
    Par the.cable.guy dans le forum Windows
    Réponses: 3
    Dernier message: 04/07/2003, 17h59
  4. Réponses: 5
    Dernier message: 04/04/2003, 15h02
  5. Comment cree une boite de dialogue parcourir
    Par kenshi dans le forum MFC
    Réponses: 5
    Dernier message: 06/01/2003, 10h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo