Lancer un program
Fermépapiejblt - 19 sept. 2022 à 18:43
5 réponses
16 sept. 2022 à 16:46
bonjour, quel langage as-tu utilisé?
16 sept. 2022 à 16:58
java
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.
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question