Lancer un program

Fermé
papiejb72 Messages postés 46 Date d'inscription dimanche 24 janvier 2010 Statut Membre Dernière intervention 22 mai 2023 - 16 sept. 2022 à 15:26
 papiejblt - 19 sept. 2022 à 18:43

J'ai réalisé un program avec Visual Studio Code à partir du quel il fonctionne parfaitement.

J'ai voulu lancer ce program à partir de la CMD et là on me répond qu'il ne troue pas la main méthode.

<main methode not found in class>  alors quelle y existe bien.

est-ce que quelqu'un peut me dire pourquoi ?

Merci d'avance.

Cordialement.

ejb

5 réponses

yg_be Messages postés 22732 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 avril 2024 1 477
16 sept. 2022 à 16:46

bonjour, quel langage as-tu utilisé?

0
papiejb72 Messages postés 46 Date d'inscription dimanche 24 janvier 2010 Statut Membre Dernière intervention 22 mai 2023 1
16 sept. 2022 à 16:58

java

0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
17 sept. 2022 à 08:26

Bonjour,

Est-ce ce que le nom du fichier compilé est bien le même que celui de la classe dans le code ?

De plus est-ce que tu as un package dans le code ? Dans ce cas il faut aussi que le fichier soit dans un dossier du même nom.

Quant à la méthode main il faut qu'elle soit public static avec un paramètre de type String[]

En cas de problème tu peux aussi nous montrer ton code pour que l'on t'aide plus précisément.


0

Bonjour,

Merci de venir à mon aide.

Mes fichiers son dans un code qui regroupe:

vscode

bin: les CLASS

src: les java

voici mon program d'appel:

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import java.awt.*;

import java.awt.event.*;


 

public class JeuxDeTarot extends JFrame

{

   private static final long serialVersionUID = 1L;

   public JButton bStart, bPoints, bPoignee, bUnJoueur, bAnnuler;

   CanvasDeJoueur table;    

   public JeuxDeTarot()

   {

      setTitle("Jeux Tarot");

      getContentPane().setLayout(new BorderLayout());

      getContentPane().setBackground(Color.lightGray);

      setSize(250, 80);

      setLocation(10,5);

      setVisible(true);

      table = new CanvasDeJoueur();

      JPanel topPanel = new JPanel(new FlowLayout());

      bStart = new JButton("Nouvelle Partie");

      bPoints = new JButton("Points");

      bPoignee = new JButton("Poignee");

      bUnJoueur = new JButton("Un Joueur");

      bAnnuler = new JButton("Annuler");

      topPanel.add(bStart);

      topPanel.add(bPoints);

      topPanel.add(bPoignee);

      topPanel.add(bUnJoueur);

      topPanel.add(bAnnuler);

      bPoints.setEnabled(false);

      bPoignee.setEnabled(false);

      bUnJoueur.setEnabled(false);

      bAnnuler.setEnabled(false);

      bStart.addActionListener(new ActionListener(){

         @Override

         public void actionPerformed(ActionEvent e) {

            int recommencer = table.creerNouvellePartie();

            if(recommencer == JOptionPane.YES_OPTION){

               // ici on a recommence une nouvelle partie donc on peut

               // activer les boutons

               bPoints.setEnabled(true);

               bPoignee.setEnabled(true);

               bUnJoueur.setEnabled(true);        

            } else if (recommencer == JOptionPane.CANCEL_OPTION){

               // ici on a recommence une nouvelle partie mais on n'a pas complete

               // l'initialisation des joueurs ou la date donc les boutons doivent

               // etre desactive

               bPoints.setEnabled(false);

               bPoignee.setEnabled(false);

               bUnJoueur.setEnabled(false);        

               bAnnuler.setEnabled(false);        

            }

            // ici, rien ne c'est passe, on a annuler recommencer une nouvelle partie

            // donc on ne fait rien.

         }

      });

      bPoints.addActionListener(new ActionListener(){

         @Override

         public void actionPerformed(ActionEvent e) {

            String bouton = bPoints.getActionCommand();

            String points = (String) JOptionPane.showInputDialog("Joueurs, Points , contrat");

            table.addTour(points,bouton);

            // On regarde si on peut annuler une action maintenant. Si oui,

            // on active le bouton annuler

            if(table.peutAnnuler()){

               bAnnuler.setEnabled(true);

            }

         }

      });

      bPoignee.addActionListener(new ActionListener(){

         @Override

         public void actionPerformed(ActionEvent e) {

            // TODO Auto-generated method stub

           String bouton=bPoignee.getActionCommand();

           String points = (String) JOptionPane.showInputDialog("Joueurs, Points , contrat");

           table.addPoignee(points,bouton);

           if(table.peutAnnuler()){

            bAnnuler.setEnabled(true);

         }

         }

      } );

      bUnJoueur.addActionListener(new ActionListener(){

         @Override

         public void actionPerformed(ActionEvent e) {

            // TODO Auto-generated method stub

            String bouton=bUnJoueur.getActionCommand();

            String points = (String) JOptionPane.showInputDialog("Joueurs, Points , contrat");

            table.addUnJoueur(points,bouton);

            if(table.peutAnnuler()){

             bAnnuler.setEnabled(true);

          }

         }

      } );

      bAnnuler.addActionListener(new ActionListener(){

         @Override

         public void actionPerformed(ActionEvent e) {

            if(table.peutAnnuler()){

               table.annuler();

            } else {

               bAnnuler.setEnabled(false);

            }

         }

      } );

      getContentPane().add(topPanel, BorderLayout.NORTH);

      getContentPane().add(table, BorderLayout.CENTER);

      setDefaultCloseOperation(EXIT_ON_CLOSE);

      pack();

   }

}  

class TesterClicBoutonsE extends JFrame

{

   public static void main(String[] args)

   {

      new JeuxDeTarot();    

   }

}

Ai-je bien répondu à tes questions ?

Cordialement

EJB

0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
Modifié le 17 sept. 2022 à 20:43

Tout le code est dans le même fichier ?

Parce que tu as deux classes, la première qui est public et devrait être dans un fichier qui porte le même nom, et la seconde qui contient la méthode main.

Lorsque tu essaies de démarrer en ligne de commandes tu utilises quel nom de classe ? Et à partir de quel répertoire ?

Le plus logique serait d'avoir la classe TesterClicBoutonsE (qui n'a pas besoin d'extends JFrame) déclarée public dans son propre fichier et c'est cette classe qu'il faudrait appeler en ligne de commandes.

javac JeuxDeTarot.java
javac TesterClicBoutonsE.java
java TesterClicBoutonsE
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question

Bonsoir

Je suis absent pour une semaine. Je ferai le test à mon retour;

Merci pour tes conseils, bonne semaine  toi.

EJB

0