Navigation

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    SOLVED Problème Gui Main Menu

    1.7.x
    1.7.10
    4
    11
    1265
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      Degraduck last edited by

      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 Reply Last reply Reply Quote 0
      • robin4002
        robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

        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 Reply Last reply Reply Quote 0
        • D
          Degraduck last edited by

          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 Reply Last reply Reply Quote 0
          • SCAREX
            SCAREX last edited by

            @‘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

            1 Reply Last reply Reply Quote 0
            • robin4002
              robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

              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 Reply Last reply Reply Quote 0
              • D
                Degraduck last edited by

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

                1 Reply Last reply Reply Quote 0
                • robin4002
                  robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

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

                  1 Reply Last reply Reply Quote 0
                  • Deleted
                    Deleted last edited by

                    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 Reply Last reply Reply Quote 0
                    • D
                      Degraduck last edited by

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

                      1 Reply Last reply Reply Quote 0
                      • Deleted
                        Deleted last edited by

                        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 Reply Last reply Reply Quote 0
                        • D
                          Degraduck last edited by

                          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 Reply Last reply Reply Quote 0
                          • 1 / 1
                          • First post
                            Last post
                          Design by Woryk
                          Contact / Mentions Légales / Faire un don

                          MINECRAFT FORGE FRANCE © 2018

                          Powered by NodeBB