-
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 !!!
-
La methode getValue n'existe pas pour la classe ResultSet.
-
en effet c'est getString !!! merci quand même !
Que veut dire :
Exception in thread "main" java.lang.NoSuchMethodError: main
???
-
Cela signifie que tu essaye d'tuliser une methode d'une classe qui n'existe pas.
-
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...
-
fais voir ton code.
Et aussi, ca plante a la compilation ou a l'execution ?
-
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 !
-
Avec la balise code s'il te plait parce que la j'y vois rien!
-
euh c'est quoi la balise code ??? désolé je suis newbie...
-
Tu seleccionne ton code et tu clique sur #
et tu valides tes modifications