Partage
  • Partager sur Facebook
  • Partager sur Twitter

Lancement d'un programme dans un jframe

    26 mai 2016 à 9:15:11

    Bonjour à tous,

    je suis débutant dans la programmation JAVA et je suis en train de butter sur une question :

    Je travail sous Eclipse.

    j'ai crée une CLASS qui s’exécute normalement dans la console d'éclipse et une autre classe appelant un JFrame. j'aimerai savoir comment relier les deux afin de pouvoir lancer mon programme dans la fenêtre Jframe. 

    Merci ;-)

    -
    Edité par Cyril K 26 mai 2016 à 9:25:19

    • Partager sur Facebook
    • Partager sur Twitter
      26 mai 2016 à 9:27:11

      Salut,

      Tu veux juste ecrire ton affichage console dans une JFrame ? Si oui regarde les JTextArea et/ou JTextField.

      • Partager sur Facebook
      • Partager sur Twitter
        26 mai 2016 à 9:48:33

        Bonjour merci pour la réponse, en fait ce que je veux faire ,

        j'ai crée un petit programme qui s’exécute seulement sous la console d'éclipse et j'aurais aimé que ce programme puisse se lancer dans la fenêtre jframe que j'ai crée celle ci contient un JMenu, Jmenuitem ....

        merci d'avance

        • Partager sur Facebook
        • Partager sur Twitter
          26 mai 2016 à 9:50:54

          Tout dépend de ton projet ^^
          Si tu as une grosse partie graphique pour afficher des formes, des images etc... Ou juste afficher un peu de texte !
          • Partager sur Facebook
          • Partager sur Twitter
            26 mai 2016 à 10:04:43

            pour l'instant il n'y a pas de part graphique dans mon programme principal c'est juste un programme de base pour lequel l ordi donne un nombre au hasard que nous devons retrouver en entrant sur le clavier il nous dis le que le nombre entré est soit trop grand soit trop petit jusqu’au moment ou on trouve le bon. en fait c'est ce petit programme que je souhaite lié à la fenêtre que j'ai crée indépendamment  .

            J 'espère que je suis assez clair ...

            ;-) Merci 

            • Partager sur Facebook
            • Partager sur Twitter
              26 mai 2016 à 10:21:34

              Salut.

              Tu peux utiliser un JLabel pour écrire tes réponses ("c'est plus", "c'est moins", "gagné"), un JTextField pour récupérer le nombre du joueur, et un JButton pour que le joueur valide son nombre.

              A chaque tour, tu vide le JLabel et le JTextField, tu écris dans le JLabel, et ensuite tu vérifie le nombre entré dans le JTextField quand le joueur appuie sur le JButton. Puis tu recommence.

              • Partager sur Facebook
              • Partager sur Twitter
                26 mai 2016 à 10:34:38

                merci paccval pour ta réponse 

                en fait le problème est que j'ai deux class la premiere est dessous et la suivante apres 

                donc pour résumer je souhaite que la première class s'affiche dans la deuxième

                merciiiiiiiiiiiiiiiiiii ;-)

                ========================================================================================
                ================================ premiere class ===============================================

                import java.util.Scanner;

                import java.awt.color.*;

                    public class Appli  {

                public static void main (String[] args){

                int nombre_secret, nombre_utilisateur;

                System.out.println("Bienvenu sur l'application ");

                Scanner clavier = new Scanner (System.in);

                nombre_secret =(int) (Math.random()*49999)+1;

                do{

                System.out.print("il faut que tu tapes un nombre entre 1 et 50 000 : ");

                nombre_utilisateur = clavier.nextInt();

                if (nombre_utilisateur == nombre_secret){

                System.out.println("=== Féliciation tu as gagné!!!!=== ");

                }else if (nombre_utilisateur > nombre_secret){

                System.out.println("ton nombre est trop === GRAND === !");

                }else { 

                System.out.println("ton nombre est trop === PETIT === !");

                }

                }while (nombre_utilisateur != nombre_secret);

                }

                }

                ========================================================================================
                ================================ deuxieme class ==============================================
                import javax.swing.JFrame;
                public class Test extends JFrame{
                public Test (){
                setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                setIconImage(Toolkit.getDefaultToolkit().getImage("C:\\Users\\Desktop\\cece.jpg"));
                setTitle("Application ");
                JMenuBar menuBar = new JMenuBar();
                setJMenuBar(menuBar);
                JMenu mnJeux = new JMenuItem ("Jeux");
                JMenu mnFichier = new JMenu("Fichier");
                menuBar.add(mnFichier);
                JMenuItem mntmOuvrir = new JMenuItem("Ouvrir");
                mnFichier.add(mntmOuvrir);
                JMenuItem mntmEnregistrer = new JMenuItem("Enregistrer");
                mnFichier.add(mntmEnregistrer);
                JSeparator separator = new JSeparator();
                mnFichier.add(separator);
                JMenuItem mntmQuitter = new JMenuItem("Quitter");
                mntmQuitter.setBackground(Color.LIGHT_GRAY);
                mnFichier.add(mntmQuitter);
                JMenu mnOutils = new JMenu("Outils");
                menuBar.add(mnOutils);
                JMenuItem mntmCalculatrice = new JMenuItem("Calculatrice");
                mnOutils.add(mntmCalculatrice);
                JMenu menu = new JMenu("?");
                menuBar.add(menu);
                JMenuItem mntmAPropos = new JMenuItem("A propos...");
                menu.add(mntmAPropos);
                }
                public static void main(String[] args) {
                }
                }
                =======================================================================================
                • Partager sur Facebook
                • Partager sur Twitter
                  26 mai 2016 à 11:08:16

                  Utilise le bouton "</>" pour écrire ton code :)

                  Comme ça

                  Là on y voit pas grand chose

                  • Partager sur Facebook
                  • Partager sur Twitter
                    26 mai 2016 à 11:14:57

                    Cyril K a écrit:

                    donc pour résumer je souhaite que la première class s'affiche dans la deuxième

                    Alors ça marche pas vraiment comme ça. Tu ne peux pas demandé à une classe "d'afficher" une autre classe. Tes deux classes doivent travailler ensemble.

                    Pour te simplifier la chose, je te conseille de ne faire qu'une seule classe, qui s'occupera à la fois du déroulement du code et de l'affichage.

                    • Partager sur Facebook
                    • Partager sur Twitter
                      26 mai 2016 à 11:16:06

                      import java.util.Scanner;
                      
                      import java.awt.color.*;
                      
                          public class Appli  {
                      
                      public static void main (String[] args){
                      
                      int nombre_secret, nombre_utilisateur;
                      
                      System.out.println("Bienvenu sur l'application ");
                      
                      Scanner clavier = new Scanner (System.in);
                      
                      nombre_secret =(int) (Math.random()*49999)+1;
                      
                      do{
                      
                      System.out.print("il faut que tu tapes un nombre entre 1 et 50 000 : ");
                      
                      nombre_utilisateur = clavier.nextInt();
                      
                      if (nombre_utilisateur == nombre_secret){
                      
                      System.out.println("=== Féliciation tu as gagné!!!!=== ");
                      
                      }else if (nombre_utilisateur > nombre_secret){
                      
                      System.out.println("ton nombre est trop === GRAND === !");
                      
                      }else { 
                      
                      System.out.println("ton nombre est trop === PETIT === !");
                      
                      }
                      
                      }while (nombre_utilisateur != nombre_secret);
                      
                      }
                      
                      }

                      ===================================================================

                      import javax.swing.JFrame;
                      public class Test extends JFrame{
                      public Test (){
                      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                      setIconImage(Toolkit.getDefaultToolkit().getImage("C:\\Users\\Desktop\\cece.jpg"));
                      setTitle("Application ");
                      JMenuBar menuBar = new JMenuBar();
                      setJMenuBar(menuBar);
                      JMenu mnJeux = new JMenuItem ("Jeux");
                      JMenu mnFichier = new JMenu("Fichier");
                      menuBar.add(mnFichier);
                      JMenuItem mntmOuvrir = new JMenuItem("Ouvrir");
                      mnFichier.add(mntmOuvrir);
                      JMenuItem mntmEnregistrer = new JMenuItem("Enregistrer");
                      mnFichier.add(mntmEnregistrer);
                      JSeparator separator = new JSeparator();
                      mnFichier.add(separator);
                      JMenuItem mntmQuitter = new JMenuItem("Quitter");
                      mntmQuitter.setBackground(Color.LIGHT_GRAY);
                      mnFichier.add(mntmQuitter);
                      JMenu mnOutils = new JMenu("Outils");
                      menuBar.add(mnOutils);
                      JMenuItem mntmCalculatrice = new JMenuItem("Calculatrice");
                      mnOutils.add(mntmCalculatrice);
                      JMenu menu = new JMenu("?");
                      menuBar.add(menu);
                      JMenuItem mntmAPropos = new JMenuItem("A propos...");
                      menu.add(mntmAPropos);
                      }
                      public static void main(String[] args) {
                      }
                      }

                      j'espere que l'on verra mieux :)

                      • Partager sur Facebook
                      • Partager sur Twitter
                        27 mai 2016 à 9:00:22

                        Donc pour en revenir à mon problème je souhaite exécuter la premiere class ci dessus ( class appli) dans la class test ce dessus

                        merci pour votre aide

                        • Partager sur Facebook
                        • Partager sur Twitter
                          27 mai 2016 à 11:12:53

                          Oui j'ai bien compris. Mais ça ne marche pas comme ça.

                          Si tu souhaites absolument avoir 2 classes, ta classe "Test" (que je te déconseille d'appeler comme ça, appelle la plutôt "Fenetre", quelque chose d'explicite) doit servir à créer une frame (dans ton cas avec :

                             - un JTextField pour récupérer les nombres entrés

                             - un JButton pour valider

                             - un JLabel pour afficher du texte ("c'est plus", "c'est moins", "gagné") )

                          Ensuite dans ta classe Appli tu créera une instance de ta classe "Test", et ainsi à la place des nextInt() et des print(), tu interagira avec les éléments de ta fenêtre (le JTextFiel, le JButton et le JLabel)

                          -
                          Edité par paccval 27 mai 2016 à 11:13:22

                          • Partager sur Facebook
                          • Partager sur Twitter
                            27 mai 2016 à 11:51:08

                            merci beaucoup je vais essayer ;-)
                            • Partager sur Facebook
                            • Partager sur Twitter

                            Lancement d'un programme dans un jframe

                            × 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