Pages : 1
#1 Le 10/12/2007, à 15:43
- JérémieR
Applet Java et variable
Bonjour à tous,
mon problème va paraà®tre très(mais alors très ) simple à certain mais la ça fait 4 heure que je pinaille et je sais pas quoi recherhcer sur google pour m'aider.
Je veut lire un caractère dans un fichier et l'afficher dans l'applet qui est dans la page web.
Mais là à chaque fois que je compile, il me dit que ma variable "cannot be resolved".
Je ne sait plus quoi faire ou comment faire donc si quelqu'un pourrait m'aider ce serait super.
Merci d'avance de votre aide
import java.io.*;
import java.applet.*;
import java.awt.*;
class message0
{
public void main(String[] argv) throws IOException
{
FileReader lire;
lire = new FileReader("etat.txt");
int lu = lire.read();
if (lu!= -1)
{
char c = (char) lu;
}
lire.close();
}
public void paint(Graphics g)
{
g.drawString(c, 30, 30);
}
}
Je suis débutant en java alors si vous trouvez des erreurs merci de me le dire et de me les expliquez, enfin si cela vous dérange pas.
Encore une fois merci.
Hors ligne
#2 Le 10/12/2007, à 15:58
- Martopioche
Re : Applet Java et variable
Ca fait des siècles que je n'ai aps fait d'applets, alors je vais faire dans l'à peu près :
Primo, une applet est exécutée coté client et n'a aps le droit de lire le contenu du disque client. Donc je crois pas que ça servira à quelque chose.
Bon, ensuite, ton exemple est finalement juste une classe main. Alors, etat.txt est il bien dans le répertoire où s'exécute ton programme ? Simple, test ça :
File etat = new File("etat.txt");
if (etat.exists()) {
lire = new FileReader(etat);
.
.
lire.close();
}
Ensuite, si je ne me trompe aps, par la suite tu ne lis que le premier caractère.
Un conseil ? Passe par des flux : cherche bufferedStreamReader sur ton ami. Tu a quelques tutos.
Dernière modification par Martopioche (Le 10/12/2007, à 15:59)
Hors ligne
#3 Le 10/12/2007, à 16:09
- JérémieR
Re : Applet Java et variable
Ok, en fait dans mon fichier etat, je n'ai qu'un seul caractère.
J'ai déjà essayer avec BufferStreamReader mais j'ai pas tout compris et je n'aime pas trop utiliser les outils que je ne maitrise pas (tiens c'est marrant ce que je dit là ).
Enfin bref, le fichier etat est sur le serveur, de ce cà´té la pas de problème.
Et du coup j'aimerai bien imprimer ma valeur contenu dans "etat" dans l'applet mais je sais pas comment utiliser une même varibale dans deux classe différentes.
Merci en tout cas.
Hors ligne
#4 Le 10/12/2007, à 17:33
- Martopioche
Re : Applet Java et variable
Enfin bref, le fichier etat est sur le serveur, de ce cà´té la pas de problème.
Et du coup j'aimerai bien imprimer ma valeur contenu dans "etat" dans l'applet mais je sais pas comment utiliser une même varibale dans deux classe différentes.
Ah oui mais non, c'est pas du tout la même question...
Ben il n'y a pas de mystères : ta première classe comporte cet attribut et se présente comme ceci :
public class toto {
private char titi;
public char getTiti() {
return titi;
}
public void setTiti(char titi) {
this.titi = titi;
}
}
La seconde, tutu, a peut être un setter et soit tu passe par une classe englobant les deux :
tutu.setVariable(toto.getTiti);
ou alors tutu connait toto et est référencée au sein de celui-ci.
Hors ligne
#5 Le 10/12/2007, à 22:19
- JérémieR
Re : Applet Java et variable
Pardon de m'être mal exprimé (honte à moi ) bouhhh.
Ce que tu me poste à l'air d'être ce à quoi je pensai mais que je n'arriveai pas à mettre en oeuvre donc je testerai ça demain matin et je tiens au courant.
Quoi qu'il en soit merci à toi MartoPioche
Hors ligne
#6 Le 11/12/2007, à 11:21
- JérémieR
Re : Applet Java et variable
Bon, j'ai essayé mais sans succès, du coup, je veut juste renvoyer la valeur de lu1 et la renvoyer pour l'afficher mais je n'y arrive toujours pas.
Donc si quelqu'un pouvait m'aider ce serait cool car la je pinaille et je ne comprend pas d'ou vient mon erreur.
import java.io.*;
import java.applet.*;
import java.awt.*;
public class message0 extends Applet
{
public String lu, lu1;
public void init()
{
setBackground(Color.white);
lu1 = "Bonjour1";
}
public void main(String[] argv) throws IOException
{
FileReader lire = new FileReader("etat.txt");
BufferedReader buff = new BufferedReader(new FileReader("etat.txt"));
lu = buff.readLine();
lire.close();
}
public void paint(Graphics g)
{
g.setColor(Color.black);
g.drawString("Ye132p", 50, 50);
g.drawString(lu1, 70, 70);
}
}
Merci d'avance de votre aide.
Hors ligne
#7 Le 11/12/2007, à 12:49
- Martopioche
Re : Applet Java et variable
Heu... comme je l'ai dit, je ne me suis plus intéressé aux applets depuis des années (et aujourd'hui je n'en vois plus trop l'utilité mais bon...). Cependant, de par mes souvenir, ton code mélange 2 choses :
- Une méthode main, qui est est la méthode d'appel par l'environnement d'execution. Celle-ci te permet de réaliser un "java message0" et ... rien de visible.
- une méthode init et une méthode paint qui sont des surchages des méthode de la classe Applet. Init initialise ton applet et tu initialise ton message lu1. Ok. setBackground, je passe, suis pas sur de l'utilité. Paint normalement te dessine ton applet, ici tu spécifie un fond noir et une chaà®ne de caractères Ye132p située à 50 pixels sous le coin en haut à gauche et à 50 pixels à sa droite. Tu place une seconde chaà®ne à 70 et 70 (soit à 20 pixels sous la précédente et 20 à sa droite) et celle-ci doit afficher Bonjour1.
Au final, si tu a correctement paramétré l'affichage de l'applet dans ta page web (un cadre de taille bien supérieure à 50x50), normalement, ça doit marcher...
Hors ligne
Pages : 1