IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

Morpion en java swing


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 64
    Par défaut Morpion en java swing
    Bonjour à tous

    Je suis en train de faire un morpion en java swing mais je suis bloqué.
    J'arrive à compiler mon programme mais lorsque je le lance j'ai le message :
    "Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 9"
    et ceci pour le View, Controller et le Run.
    Si quelqu'un pouvait m'aider ça serait sympa merci d'avance.

  2. #2
    Membre éprouvé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Par défaut
    C simple

    cet exception te dit que tu es en dehors des limites de ton tableau
    donc regarde ton indice qui parcourt ton tableau

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 64
    Par défaut
    Je dois avoir une erreur dans mon View mais je ne vois pas où ça c'est problématique merci pour la réponse maintenant je connais le problème mais je ne sais vraiment pas où il est....

  4. #4
    Membre chevronné
    Avatar de Orian
    Inscrit en
    Août 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Août 2006
    Messages : 372
    Par défaut
    Donne nous le code incriminé qu'on puisse voir.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 64
    Par défaut
    C'est un peu long mais voila le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.sql.*;
     
    public class MorpionView extends JFrame {
     
    	private JButton[] button;
    	private ImageIcon iconJoueur1;
    	private ImageIcon iconJoueur2;
    	private ImageIcon iconCaseVide;
    	private int i;
     
    	// Constructeur
    	public MorpionView (String nom, MorpionController morpionController) {
     
    		super(nom);
     
     
    		Container pan = this.getContentPane();
     
    		/*Création du design de la fenêtre*/
    		pan.setLayout(new BorderLayout());
     
    		/*Mise en place du quadrillage du jeu de morpion*/
    		iconCaseVide = new ImageIcon ("Bouton.jpg");
    		button = new JButton[9];
    		for (i = 0; i < 9; i++) {
    			button[i] = new JButton (iconCaseVide);
    		}
     
    		/*Création des autres éléments de la fenêtre*/
    		JLabel joueur1Label = new JLabel("Edward");		
    		JLabel joueur2Label = new JLabel("Alfons");		
    		JLabel tourLabel = new JLabel("C'est à ton tour!");
    		JButton quitButton = new JButton("Quit");
    		JButton startButton = new JButton("Start");
    		iconJoueur1 = new ImageIcon ("Joueur1.jpg");
    		iconJoueur2 = new ImageIcon ("Joueur2.jpg");
    		JButton joueur1 = new JButton(iconJoueur1);
    		JButton joueur2 = new JButton(iconJoueur2);
     
    		/*Gestion des actions sur les boutons*/
    		quitButton.addActionListener(new MorpionEvent(morpionController));
    		startButton.addActionListener(new MorpionEvent(morpionController));
    		button[i].addActionListener(new MorpionEvent(morpionController));
     
    		/*Ajout des éléments dans la fenêtre*/
    		pan.add(joueur1);
    		pan.add(joueur1Label);
    		pan.add(joueur2);
    		pan.add(joueur2Label);
    		pan.add(tourLabel, BorderLayout.CENTER);
    		pan.add(button[i], BorderLayout.CENTER);
    		pan.add(startButton, BorderLayout.SOUTH);
    		pan.add(quitButton, BorderLayout.SOUTH);
     
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		this.pack();
    		this.setVisible(true);
    	}
     
    	// Méthodes
    	/*Méthode qui modifie l'image d'un bouton de la grille*/
    	public void changeIcon (int selected, int joueur) {
     
    		if (joueur == 1) {
    			button[selected] = new JButton (iconJoueur1);
    		}
     
    		else if (joueur == 2) {
    			button[selected] = new JButton (iconJoueur2);
    		}
    	}
     
    	/*Méthode qui réinitialise la grille*/
    	public void resetGrid () {
    		for (i = 0; i < 9; i++) {
    			button[i] = new JButton (iconCaseVide);
    		}	
    	}
     
    	/*Méthode pour afficher*/
    	public void afficher(boolean ouiounon) {
    		this.setVisible(ouiounon);
    	}
    }
    voila c'est mon View, si vous trouvez ça sera génial

  6. #6
    Membre chevronné
    Avatar de Orian
    Inscrit en
    Août 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Août 2006
    Messages : 372
    Par défaut
    Utilise la balise [CODE] pour envoyer ton code ("#")

    A première vu pas de problème dans ton code "View" (sauf si elle m'a échappé), ça pourrait aussi venir de ton Controller.

    Le numéro de la ligne fautive est il indiqué a l'affichage de l'exception? Ca pourrait faire avancer le chmilblik...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Java Swing]JButton avec TableModel
    Par dim_italia dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 20/02/2006, 21h04
  2. [debutant]import java.swing?
    Par arou dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 09/02/2006, 12h13
  3. Séminaire Java Swing en vidéo
    Par Olivier Delmotte dans le forum Evolutions du club
    Réponses: 3
    Dernier message: 16/01/2006, 12h33
  4. Application lourde en Java, Swing ou autre...
    Par eponette dans le forum AWT/Swing
    Réponses: 12
    Dernier message: 23/09/2005, 22h17
  5. [Java-Swing][HTML] Page html à inclure dans application Java
    Par terminagroo dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 04/07/2005, 10h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo