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

Applets Java Discussion :

probleme avec getValue


Sujet :

Applets Java

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 79
    Par défaut probleme avec getValue
    Bonjour ! dans mon applet utilisant JDBC j'ai comme type d'instruction pour récupérer la valeur entière d'un caractère issu de ma bdd
    Tour=Integer.parseInt(rs.getValue("Tour"));

    quand je compile j'obtiens
    morpion.java:102: cannot resolve symbol
    symbol : method getValue (java.lang.String)
    location: interface java.sql.ResultSet
    Tour=Integer.parseInt(rs.getValue("Tour"));
    quel est le problème ?

    autre question : comment installer netscape.Javascript vu que je n'ai pas Eclipse et que j'ai rien pigé à cette histoire de Classpath...

    merci d'avance !!!

  2. #2
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    La methode getValue n'existe pas pour la classe ResultSet.

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 79
    Par défaut
    en effet c'est getString !!! merci quand même !
    Que veut dire :
    Exception in thread "main" java.lang.NoSuchMethodError: main
    ???

  4. #4
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    Cela signifie que tu essaye d'tuliser une methode d'une classe qui n'existe pas.

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 79
    Par défaut
    je crée une applet et quand je la lance rien ne se passe la fenêtre reste blanche...pourtant ma méthode paint semble bonne, je comprends rien...

  6. #6
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    fais voir ton code.

    Et aussi, ca plante a la compilation ou a l'execution ?

  7. #7
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 79
    Par défaut
    import java.sql.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.applet.*;
    import javax.swing.JOptionPane; //pas bien, mais utile pour deboguer (en placant des try catch un peu partout)
    import java.util.Timer;
    import java.util.TimerTask;



    public class morpion extends Applet implements MouseListener {

    int [][]matrice = new int[3][3];
    int tour;
    String joueur1,joueur2;
    int joueurDistant,joueurLocal;
    Connection connec;


    public void init() {
    try {
    String chaineconnexion = "jdbc:mysql://localhost/morpion";
    String login="root";
    String pass="";
    Class.forName("com.mysql.jdbc.Driver");
    connec=DriverManager.getConnection(chaineconnexion, login, pass);
    joueurDistant=Integer.parseInt(getParameter("joueurDistant"));
    joueurLocal=Integer.parseInt(getParameter("joueurLocal"));
    joueur1=getParameter("joueur1");
    joueur2=getParameter("joueur2");
    initJeu();
    }
    catch(Throwable exception) {
    JOptionPane.showMessageDialog(null, "Erreur : "+exception);
    }
    addMouseListener(this);
    }


    /**Méthode pour initialiser le jeu*/
    public void initJeu() {
    int i,j;
    for(i=0;i<3;i++)
    for(j=0;j<3;j++) matrice[i][j]=0;
    Timer t=new Timer(); // timer qui vérifie toutes les secondes à qui est le tour.
    t.schedule(new verifiertour(), 0, 1*1000);
    }
    /** construction un peu bizarre mais il faut se dire que cette classe correspond juste à une méthode */
    class verifiertour extends TimerTask { // class runnable qui vérifie le tour
    public void run() {
    verifiertour();
    if(tour==joueurLocal) {
    this.cancel(); // ceci annule la tâche
    maj_grille(); //après que le tour soit revenu, mise à jour de la grille
    }
    }

    }
    public void verifiertour() { //connexion pour vérifier le tour
    try
    {Statement stmt = connec.createStatement();
    ResultSet rs = stmt.executeQuery("SELECT tour FROM partieencours WHERE joueur1='"+joueur1+"' AND joueur2='"+joueur2+"'");
    while(rs.next()) tour=Integer.parseInt(rs.getString("tour"));
    rs.close();
    stmt.close();
    }
    catch (SQLException sqlexc) {}
    }


    /**Méthode pour envoyer les coordonnées du point joué à la base de données*/
    public void upload_grille() {
    try
    {Statement stmt = connec.createStatement();
    stmt.executeUpdate("UPDATE partieencours SET C1="+matrice[0][0]+",C2="+matrice[0][1]+",C3="+matrice[0][2]+",C4="+matrice[1][0]+",C5="+matrice[1][1]+",C6="+matrice[1][2]+",C7="+matrice[2][0]+",C8="+matrice[2][1]+",C9="+matrice[2][2]+"'WHERE joueur1='"+joueur1+"'AND joueur2='"+joueur2+"'");
    stmt.close();
    }
    catch (SQLException sqlexc) {}
    }

    /**Méthode pour rendre le tour à l'autre joueur*/
    public void rendretour() {
    try
    {Statement stmt = connec.createStatement();
    stmt.executeUpdate("UPDATE partieencours SET tour="+joueurDistant+"'WHERE joueur1='"+joueur1+"'AND joueur2='"+joueur2+"'");
    stmt.close();
    }
    catch (SQLException sqlexc) {}
    Timer t=new Timer(); //puis on attend a nouveau que le tour revienne
    t.schedule(new verifiertour(), 0, 1*1000);
    }


    /**Méthode pour recevoir la maj de la grille*/
    public void maj_grille() {
    try
    {Statement stmt = connec.createStatement();
    ResultSet rs = stmt.executeQuery("SELECT C1,C2,C3,C4,C5,C6,C7,C8,C9,tour FROM partieencours WHERE joueur1='"+joueur1+"' AND joueur2='"+joueur2+"'");
    while(rs.next()) {
    matrice[0][0]=Integer.parseInt(rs.getString("C1"));
    matrice[0][1]=Integer.parseInt(rs.getString("C2"));
    matrice[0][2]=Integer.parseInt(rs.getString("C3"));
    matrice[1][0]=Integer.parseInt(rs.getString("C4"));
    matrice[1][2]=Integer.parseInt(rs.getString("C5"));
    matrice[1][1]=Integer.parseInt(rs.getString("C6"));
    matrice[2][0]=Integer.parseInt(rs.getString("C7"));
    matrice[2][1]=Integer.parseInt(rs.getString("C8"));
    matrice[2][2]=Integer.parseInt(rs.getString("C9"));
    tour=Integer.parseInt(rs.getString("tour"));
    }
    rs.close();
    stmt.close();
    }
    catch (SQLException sqlexc) {}
    repaint();
    }

    /**Méthode de modification de la grille de jeu*/
    public void mouseClicked(MouseEvent evt)
    {
    int positionXSouris,positionYSouris;
    int positionXCarre1,positionYCarre1;
    int positionXCarre2,positionYCarre2;
    int positionXCarre3,positionYCarre3;
    int positionXCarre4,positionYCarre4;
    int positionXCarre5,positionYCarre5;
    int positionXCarre6,positionYCarre6;
    int positionXCarre7,positionYCarre7;
    int positionXCarre8,positionYCarre8;
    int positionXCarre9,positionYCarre9;
    Integer H,L;
    boolean finDuJeu;
    int hauteur,longueur,i,j;

    /**Récupération des paramètres de la page HTML*/
    L=new Integer(getParameter("longueur"));
    H=new Integer(getParameter("hauteur"));
    longueur=L.intValue();
    hauteur=H.intValue();
    longueur-=20;
    hauteur-=20;

    /**Affectation des coordonnées de la souris*/
    positionXSouris=evt.getX();
    positionYSouris=evt.getY();

    /**Ordre des carrés
    -------------
    | 1 | 2 | 3 |
    -------------
    | 4 | 5 | 6 |
    -------------
    | 7 | 8 | 9 |
    -------------
    */

    /**Affectation des coordonnées X et Y des différents carrés*/
    positionYCarre1=(int)(hauteur/3);
    positionXCarre1=(int)(longueur/3);

    positionYCarre2=(int)(hauteur/3);
    positionXCarre2=2*((int)(longueur/3));

    positionYCarre3=(int)(hauteur/3);
    positionXCarre3=longueur;

    positionYCarre4=(int)(2*(hauteur/3));
    positionXCarre4=(int)(longueur/3);

    positionYCarre5=2*((int)(hauteur/3));
    positionXCarre5=2*((int)(longueur/3));

    positionYCarre6=2*((int)(hauteur/3));
    positionXCarre6=longueur;

    positionYCarre7=hauteur;
    positionXCarre7=(int)(longueur/3);

    positionYCarre8=hauteur;
    positionXCarre8=2*((int)(longueur/3));

    positionYCarre9=hauteur;
    positionXCarre9=longueur;

    /**Affectation des coordonnées de la matrice interne*/
    i=-1;
    j=-1;

    if(positionXSouris<=positionXCarre1 && positionYSouris<=positionYCarre1)
    {
    i=0;
    j=0;
    }
    else
    if(positionXSouris<=positionXCarre2 && positionYSouris<=positionYCarre2)
    {
    i=0;
    j=1;
    }
    else
    if(positionXSouris<=positionXCarre3 && positionYSouris<=positionYCarre3)
    {
    i=0;
    j=2;
    }
    else
    if(positionXSouris<=positionXCarre4 && positionYSouris<=positionYCarre4)
    {
    i=1;
    j=0;
    }
    else
    if(positionXSouris<=positionXCarre5 && positionYSouris<=positionYCarre5)
    {
    i=1;
    j=1;
    }
    else
    if(positionXSouris<=positionXCarre6 && positionYSouris<=positionYCarre6)
    {
    i=1;
    j=2;
    }
    else
    if(positionXSouris<=positionXCarre7 && positionYSouris<=positionYCarre7)
    {
    i=2;
    j=0;
    }
    else
    if(positionXSouris<=positionXCarre8 && positionYSouris<=positionYCarre8)
    {
    i=2;
    j=1;
    }
    else
    if(positionXSouris<=positionXCarre9 && positionYSouris<=positionYCarre9)
    {
    i=2;
    j=2;
    }

    /**Affectation de l'entier de validation de jeu si l'endroit est libre*/
    if(matrice[i][j]==0 && i!=-1 && j!=-1)
    {
    if (joueurLocal==1)
    matrice[i][j]=3;
    else matrice[i][j]=5; //correspond au remplissage avec une croix ou un rond
    finDuJeu=casespleines();
    if(!finDuJeu && gagnantdujeu()==0) // si il reste des cases vides et qu'il n'y a pas de gagnant...
    {
    upload_grille(); //on envoie ce qu'on a joué
    rendretour(); //on rend le tour à l'autre joueur et on vérifie quand ce sera à nous
    }
    }
    }

    /**Autres méthodes non utilisées d'actions de la souris
    Déclaration obligatoire*/
    public void mousePressed(MouseEvent evt){}
    public void mouseReleased(MouseEvent evt){repaint();}
    public void mouseEntered(MouseEvent evt){}
    public void mouseExited(MouseEvent evt){}


    /**Méthode pour vérifier s'il reste des cases libres*/
    public boolean casespleines()
    {
    int i,j,nbreDeZero;

    nbreDeZero=0;
    for(i=0;i<=2;i++)
    for(j=0;j<=2;j++)
    if(matrice[i][j]==0)
    nbreDeZero++;

    if(nbreDeZero!=0)
    return(false);
    else
    return(true);
    }

    /**Méthode pour déterminer le gagnant du jeu*/
    public int gagnantdujeu()
    {
    int joueur=0;

    if(matrice[0][0]==matrice[0][1] && matrice[0][1]==matrice[0][2])
    joueur=matrice[0][0];

    if(matrice[1][0]==matrice[1][1] && matrice[1][1]==matrice[1][2])
    joueur=matrice[1][0];

    if(matrice[2][0]==matrice[2][1] && matrice[2][1]==matrice[2][2])
    joueur=matrice[2][0];

    if(matrice[0][0]==matrice[1][0] && matrice[1][0]==matrice[2][0])
    joueur=matrice[0][0];

    if(matrice[0][1]==matrice[1][1] && matrice[1][1]==matrice[2][1])
    joueur=matrice[0][1];

    if(matrice[0][2]==matrice[1][2] && matrice[1][2]==matrice[2][2])
    joueur=matrice[0][2];

    if(matrice[0][0]==matrice[1][1] && matrice[1][1]==matrice[2][2])
    joueur=matrice[0][0];

    if(matrice[0][2]==matrice[1][1] && matrice[1][1]==matrice[2][0])
    joueur=matrice[0][2];
    return (joueur);
    }

    /** La métohe paint */
    public void paint(Graphics g) {
    {
    int i = 0;
    int j = 0;
    Integer H = null;
    Integer L = null;
    int hauteur = 0;
    int longueur = 0;


    //Récupération des paramètres
    L=new Integer(getParameter("longueur"));
    H=new Integer(getParameter("hauteur"));
    longueur=L.intValue();
    hauteur=H.intValue();
    longueur-=20;
    hauteur-=20;

    //Dessin des axes
    g.clearRect(10,10,longueur,hauteur);
    g.drawRect(10,10,longueur,hauteur);
    g.drawLine(10+((int)(longueur/3)),10,10+((int)(longueur/3)),hauteur+10);
    g.drawLine(10+(2*((int)(longueur/3))),10,10+(2*((int)(longueur/3))),hauteur+10);
    g.drawLine(10,10+((int)(hauteur/3)),longueur+10,10+((int)(hauteur/3)));
    g.drawLine(10,10+(2*((int)(hauteur/3))),longueur+10,10+(2*((int)(hauteur/3))));
    setBackground(Color.orange);

    //Déroulement du jeu
    for(i=0;i<=2;i++)
    for(j=0;j<=2;j++)
    /*On inverse les coordonnées car par rapport à l'écran les coordonnées internes de la matrice sont inversées ce
    qui met l'affichage à l'envers*/
    {
    if(matrice[j][i]==3)
    {
    g.setColor(Color.blue);
    g.fillRect((int)((((i+1)*0.33)-0.166)*longueur),(int)((((j+1)*0.33)-0.166)*hauteur),10,10);
    }
    if(matrice[j][i]==5)
    {
    g.setColor(Color.red);
    g.fillOval((int)((((i+1)*0.33)-0.166)*longueur),(int)((((j+1)*0.33)-0.166)*hauteur),10,10);
    }
    }
    //Ecriture à l'écran du vainqueur
    g.setColor(Color.black);
    g.setFont(new Font("Comic",2,30));
    switch(gagnantdujeu())
    {
    case 0:{
    if(casespleines())
    {
    JOptionPane.showMessageDialog(null, "Match Nul !","Fin du jeu", JOptionPane.INFORMATION_MESSAGE);
    stop();
    }
    break;
    }

    case 3:{
    JOptionPane.showMessageDialog(null, "Le joueur1 a gagné !","Fin du jeu", JOptionPane.INFORMATION_MESSAGE);
    stop();
    break;
    }

    case 5:{
    JOptionPane.showMessageDialog(null, "Le joueur2 a gagné !", "Fin du jeu" , JOptionPane.INFORMATION_MESSAGE);
    stop();
    break;
    }
    }
    }
    }
    /** Méthode pour arrêter l'applet */
    public void stop() {
    try
    {connec.close();}
    catch(SQLException sqlexc) {}
    }
    }

    //Fin de l'applet

    ---------------------------------------------------------------------------
    c'est un jeu Morpion...quand je lance ma page html avec Firefox la fenêtre reste blanche et en bas est écrit Applet myapplet started !

  8. #8
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    Avec la balise code s'il te plait parce que la j'y vois rien!

  9. #9
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 79
    Par défaut
    euh c'est quoi la balise code ??? désolé je suis newbie...

  10. #10
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    Tu seleccionne ton code et tu clique sur #
    et tu valides tes modifications

Discussions similaires

  1. probleme avec getvalue
    Par Herveg dans le forum VB.NET
    Réponses: 10
    Dernier message: 12/08/2011, 17h18
  2. Probleme avec la copie des surfaces
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/01/2003, 11h33
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 23h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 08h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 09/06/2002, 00h06

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