• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Problème Gui Main Menu

    1.7.x
    1.7.10
    4
    11
    1333
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • D
      Degraduck dernière édition par

      Bonjour alors voilà j’ai créé un menu personnalisé, mais le soucis c’est que j’ai 3 boutons qui ne fontionnent pas, hors avant que je les déplace ils fonctionnaient, les 3 boutons en questions sont: Boutique, Serveur Minefus et Site.
      Voilà un screen de mon menu http://puu.sh/g3odP/2bcf663afa.jpg

      Et le code:

      private void addSingleplayerMultiplayerButtons(int x, int y)
         {
      
          this.buttonList.add(new GuiButton(1, this.width / 2 - 50, x, 98, 20, I18n.format("menu.singleplayer")));
             this.buttonList.add(new GuiButton(2, this.width / 2 - 50, 133 + 0, 98, 20, "PuLse"));
             this.buttonList.add(new GuiButton(20, this.width / 2 - 100, 60 + y * 1, "Serveur Minefus"));
             this.buttonList.add(new GuiButton(25, this.width / 2 - 100, 160 + 0, 200, 20, "Boutique"));
             GuiButton webSiteButton = new GuiButton(21, this.width / 2 - 200, 122 + 0, 98, 20, "Site");
             GuiButton fmlModButton = new GuiButton(6, this.width /  2 - 200, 122 + 0, 98, 20, "Teamspeak");
             fmlModButton.xPosition = this.width / 2 + 100;
             webSiteButton.width = 98;
             fmlModButton.width = 98;
             this.buttonList.add(webSiteButton);
             this.buttonList.add(fmlModButton);
         }
      
         /**
          * Ajoute les boutons de démonstration dans le menu principal pour les joueurs qui jouent Démo .
          */
         private void addDemoButtons(int x, int y)
         {
             this.buttonList.add(new GuiButton(11, this.width / 2 - 100, x, I18n.format("menu.playdemo", new Object[0])));
             this.buttonList.add(this.buttonResetDemo = new GuiButton(12, this.width / 2 - 100, x + y * 1, I18n.format("menu.resetdemo", new Object[0])));
             ISaveFormat isaveformat = this.mc.getSaveLoader();
             WorldInfo worldinfo = isaveformat.getWorldInfo("Demo_World");
      
             if(worldinfo == null)
             {
                 this.buttonResetDemo.enabled = false;
             }
         }
      
         protected void actionPerformed(GuiButton button)
         {
             if(button.id == 0)
             {
                 this.mc.displayGuiScreen(new GuiOptions(this, this.mc.gameSettings));
             }
      
             if(button.id == 5)
             {
                 this.mc.displayGuiScreen(new GuiLanguage(this, this.mc.gameSettings, this.mc.getLanguageManager()));
             }
      
             if(button.id == 1)
             {
                 this.mc.displayGuiScreen(new GuiSelectWorld(this));
             }
      
             if(button.id == 2)
             {
              try
                 {
                     Class oclass = Class.forName("java.awt.Desktop");
                     Object object = oclass.getMethod("getDesktop", new Class[0]).invoke((Object)null, new Object[0]);
                     oclass.getMethod("browse", new Class[] {URI.class}).invoke(object, new Object[] {new URI("http://pulse-gaming.gg")});
                 }
                 catch(Throwable throwable)
                 {
                     logger.error("Couldn\'t open link", throwable);
                 }
             }
      
             if(button.id == 4)
             {
                 this.mc.shutdown();
             }
      
             if(button.id == 6)
             {
              String ipts3 = "ts.minefus.fr"; // address serveur ts 3
                 int portTs3 = 9987; //port ts 3 celui est par defaut
                 URI uri = URI.create("ts3server://"+ ipts3 +"?port="+ portTs3);
                 try { Desktop.getDesktop().browse(uri);
                 } catch (IOException e) {
                     // TODO Auto-generated catch block e.printStackTrace(); } }
             }
      
             if(button.id == 11)
             {
                 this.mc.launchIntegratedServer("Demo_World", "Demo_World", DemoWorldServer.demoWorldSettings);
             }
      
             if(button.id == 12)
             {
                 ISaveFormat isaveformat = this.mc.getSaveLoader();
                 WorldInfo worldinfo = isaveformat.getWorldInfo("Demo_World");
      
                 if(worldinfo != null)
                 {
                     GuiYesNo guiyesno = GuiSelectWorld.func_152129_a(this, worldinfo.getWorldName(), 12);
                     this.mc.displayGuiScreen(guiyesno);
                 }
             }
      
             if(button.id == 20)
             {
                 // TODO pour la connexion au serveur
                 FMLClientHandler.instance().connectToServerAtStartup("play.minefus.fr", 25565); // ip, port
             }
      
             if(button.id == 21)
             {
                 try
                 {
                     Class oclass = Class.forName("java.awt.Desktop");
                     Object object = oclass.getMethod("getDesktop", new Class[0]).invoke((Object)null, new Object[0]);
                     oclass.getMethod("browse", new Class[] {URI.class}).invoke(object, new Object[] {new URI("http://minefus.fr/boutique.php")});
                 }
                 catch(Throwable throwable)
                 {
                     logger.error("Couldn\'t open link", throwable);
                 }
      
             }
      
             if(button.id == 25)
              try
             {
                 Class oclass = Class.forName("java.awt.Desktop");
                 Object object = oclass.getMethod("getDesktop", new Class[0]).invoke((Object)null, new Object[0]);
                 oclass.getMethod("browse", new Class[] {URI.class}).invoke(object, new Object[] {new URI("http://minefus.fr")});
             }
             catch(Throwable throwable)
             {
                 logger.error("Couldn\'t open link", throwable);
             }
             }
      
         }
      
         public void confirmClicked(boolean p_73878_1_, int id)
         {
             if(p_73878_1_ && id == 12)
             {
                 ISaveFormat isaveformat = this.mc.getSaveLoader();
                 isaveformat.flushCache();
                 isaveformat.deleteWorldDirectory("Demo_World");
                 this.mc.displayGuiScreen(this);
             }
             else if(id == 13)
             {
                 if(p_73878_1_)
                 {
                     try
                     {
                         Class oclass = Class.forName("java.awt.Desktop");
                         Object object = oclass.getMethod("getDesktop", new Class[0]).invoke((Object)null, new Object[0]);
                         oclass.getMethod("browse", new Class[] {URI.class}).invoke(object, new Object[] {new URI(this.field_104024_v)});
                     }
                     catch(Throwable throwable)
                     {
                         logger.error("Couldn\'t open link", throwable);
                     }
                 }
      
                 this.mc.displayGuiScreen(this);
             }
         }
      
      1 réponse Dernière réponse Répondre Citer 0
      • robin4002
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

        Pourtant il n’y a pas de raison pour que ça ne fonctionne pas …
        Tu as quelque chose dans les logs lorsque tu clic dessus ?

        1 réponse Dernière réponse Répondre Citer 0
        • D
          Degraduck dernière édition par

          Non rien dans les logs, ce que je trouve bizarre c’est que quand le clique sur ces boutons j’ai bien le son du clic et le bouton se met bien en bleu.

          1 réponse Dernière réponse Répondre Citer 0
          • SCAREX
            SCAREX dernière édition par

            @‘Degraduck’:

            Non rien dans les logs, ce que je trouve bizarre c’est que quand le clique sur ces boutons j’ai bien le son du clic et le bouton se met bien en bleu.

            C’est tout simplement parce que tu utilises les boutons de base, créer ta propre classe de bouton extends GuiButton et réécris la fonction mousReleased

            Site web contenant mes scripts : http://SCAREXgaming.github.io

            Pas de demandes de support par MP ni par skype SVP.
            Je n'accepte sur skype que l…

            1 réponse Dernière réponse Répondre Citer 0
            • robin4002
              robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

              Normalement il n’y a pas besoin.
              Si tu mets un System.out.println(“coucou”); dans les différentes condition de la fonction actionPerformed, est-ce qui ça s’affiche dans la console ?

              1 réponse Dernière réponse Répondre Citer 0
              • D
                Degraduck dernière édition par

                Je viens de le faire et non pas de retour dans la console.

                1 réponse Dernière réponse Répondre Citer 0
                • robin4002
                  robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                  Ajoute un @Override au dessus de la méthode actionPerformed ?

                  1 réponse Dernière réponse Répondre Citer 0
                  • Deleted
                    Deleted dernière édition par

                    Vérifies si l id de la condition est bien le même quz lorsque tu as déclaré to  bouton.
                    Si tu ne vois pas le “coucou” il ne faut pas chercher a aller plus loin c est juste que le jeu ne rentre pas dabs la condition.

                    1 réponse Dernière réponse Répondre Citer 0
                    • D
                      Degraduck dernière édition par

                      Mais ce que je ne comprends pas c’est pourquoi certains boutons fonctionnent? et qu’est ce que tu appels actionPerformed ?

                      1 réponse Dernière réponse Répondre Citer 0
                      • Deleted
                        Deleted dernière édition par

                        Deja changes tes id car quand on regarde tes déclarations et tes conditions car

                        1)le bouton boutique a l id 25 alors que dans la condition 25 donne accès a l adresse url du SITE et non de la boutique

                        2)Pareil, le bouton site a comme id 21 mais dans la conditions l url donne accès a la boutique il faut changer ça c est une inversion tu n a pas du faire gaffe c est tout

                        Si sa ne marche toujours pas changes les id peut être qu il y a une confusion mets des ids supérieur a 30

                        1 réponse Dernière réponse Répondre Citer 0
                        • D
                          Degraduck dernière édition par

                          Résolu le probleme c’est qu’ici: ```java
                          if(button.id == 6)
                          {
                          String ipts3 = “ts.minefus.fr”; // address serveur ts 3
                          int portTs3 = 9987; //port ts 3 celui est par defaut
                          URI uri = URI.create(“ts3server://”+ ipts3 +“?port=”+ portTs3);
                          try { Desktop.getDesktop().browse(uri);
                          }

                          catch (IOException e) {
                          // TODO Auto-generated catch block e.printStackTrace(); } }
                          }
                          }

                          
                          J'avais oublier ce que j'ai mis en rouge du coup il se fermait avec un accolade situé a la fin de la classe voila ce qui fesait tout bugguer, enfaite les bouton buggués étaient ceux situés en dessous de celui ci, merci a tous et Julot10085 les ids que tu me donnent n'interfèrent en rien avec le restre.
                          1 réponse Dernière réponse Répondre Citer 0
                          • 1 / 1
                          • Premier message
                            Dernier message
                          Design by Woryk
                          Contact / Mentions Légales

                          MINECRAFT FORGE FRANCE © 2018

                          Powered by NodeBB