Partage
  • Partager sur Facebook
  • Partager sur Twitter

JDialog sans bouton

Sujet résolu
    23 mars 2010 à 0:13:34

    Bonjour,

    Je cherche un petit coup de main sur un truc (peu être tout bête ...) mais sur lequel je galère.

    J'essaye de créer un mini jeu de chasse au trésor enfin plus particulièrement je m'occupe de la partie graphique avec swing.
    Je voudrais que quand on clic sur le bouton jouer sa affiche un message qui mette le joueur en attente le temps qu'un autre se connecte pour jouer.
    J'avais pensé a une JDialog modal personnalisé sans bouton comme sa le joueur n'a cas prendre son mal en patiente le temps que l'autre arrive. Le soucis qui se pose c'est que j'arrive a afficher soit une JDialog toute jolie mais avec un bouton OK qui me vire la jdialog soit j'ai pas de bouton mais j'ai pas de texte non plus impossible d'afficher quoi que ce soit...

    Donc si quelqu'un a une solution je suis preneur.

    Merci d'avance.
    Dagoba
    • Partager sur Facebook
    • Partager sur Twitter
      23 mars 2010 à 3:03:35

      JDialog personnalisé peut-étre?
      Mais bon faire attendre le joueur dans un "mini-jeu" ne sera pas très fun, pourquoi t'as besoin de procéder ainsi?
      • Partager sur Facebook
      • Partager sur Twitter
        23 mars 2010 à 8:47:08

        C'est pour attendre qu'un deuxieme joueur se connecte pour lancer la partie. J'ai essayé une JDialog personnalisé mais j'ai pas réussi non plus
        • Partager sur Facebook
        • Partager sur Twitter
          23 mars 2010 à 16:02:25

          Tout d'abord, je ne sais pas si tu as pensé à un système permettant de vérifier qu'un deuxième joueur est là ou non. J'entends par là quelque chose qui vérifie si un joueur est arrivée et, si oui (par exemple hein), ferme la fenêtre d'attente.
          Mais ceci est un autre problème (dont je n'ai pas la réponse là maintenant).

          Concernant ton souci actuel, voici une piste comme une autre.
          Variables à créer au préalable :
          javax.swing.JLabel labelTest = new javax.swing.JLabel("Label de test");
          javax.swing.JDialog dialogTest = new javax.swing.JDialog(MainFrame.m_mainFrame, "Dialog Test", true);
          

          Code de l'évènement déclencheur (clic sur un bouton, changement de page, ...) :
          dialogTest.setContentPane(labelTest);
          dialogTest.setSize(100, 100);
          dialogTest.setVisible(true);
          


          Les "variables" sont ici données à titre d'exemple (surtout pour le label). Au final tu choisis de mettre ce que tu veux dans ta JDialog.
          Pour le code de l'évènement déclencheur, il faut retenir les 3 lignes qui :
          • Fixe le contenu
          • Fixe la taille
          • Affiche la JDialog

          A noter que pour la taille, il y'a surement mieux car là je fixe une taille. Je pense qu'on doit pouvoir faire une taille en fonction du contenu (mais là j'avoue j'ai pas cherché).

          En espérant t'avoir aidé un petit peu.
          • Partager sur Facebook
          • Partager sur Twitter
            23 mars 2010 à 17:32:17

            J'ai pas vraiment encore réfléchit pour fermer la fenetre mais j'ai une vague idée et c'est pas mon soucis principal pour le moment.
            Par contre pour le code que tu m'as donnée j'ai un soucis au niveau de la création du JDialog il me renvoi une erreur
            Gridlock.java:135: cannot find symbol
            symbol  : variable MainFrame
            location: class Gridlock
                final javax.swing.JDialog dialogTest = new javax.swing.JDialog(MainFrame.m_mainFrame, "Dialog Test", true);
                                                                               ^
            1 error


            J'ai essayé en remplacant MainFrame par le nom de ma frame mais il me sort toujours la meme erreur :euh:
            J'ai oublié de faire quelque chose?
            • Partager sur Facebook
            • Partager sur Twitter
              24 mars 2010 à 14:08:25

              Oulà !! Oui désolé c'est ma faute !!!
              J'ai fait ce code dans un projet en cours ^^

              A la place MainFrame.m_mainFrame (classe MainFrame en fait, objet m_mainFrame de type JFrame, pas forcément suivre l'exemple hein ^^) il faut que tu mette en fait la frame parent.
              J'appelle en fait cette JDialog depuis un JPanel qui est chargé dans une JFrame (une seule frame, plusieurs panel que l'on charge au besoin). Donc je fait référence à ma frame principal qui est dans une autre classe.
              Mais toi il faut que tu mette la frame parent. Si tu utilise NetBeans (je ne sais pas pour Eclipse) tu dois avoir l'aide et donc les différents constructeurs d'une JDialog (au pire, go sur Google et tape "api javadoc" et tu auras la javadoc).

              Si toutefois ça ne fonctionne toujours pas je verrais plus en détail.
              • Partager sur Facebook
              • Partager sur Twitter
                24 mars 2010 à 14:27:51

                C'est bon je vien de trouvé. J'ai juste remplacé "MainFrame.m_mainFrame" par "myFrame" qui est le nom de ma frame principal qui appel la boite de dialogue et sa marche.
                Merci du coup de main!
                • Partager sur Facebook
                • Partager sur Twitter

                JDialog sans bouton

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown