![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Applets Vos questions sur les Applets |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Membre à l'essai
![]() Date d'inscription: avril 2007
Localisation: Blagnac
Âge: 20
Messages: 43
|
Salut à tous
J'ai fais un programme Java qui fonctionne parfaitement, à souligner Je l'ai modifié afin de le transformer en applet... et là lorsque je le teste en tant qu'applet java dans eclipse, il fonctionne toujours parfaitement. Mais lorsque je le met dans une page html et le lance sous FF ou IE, plus rien. Le but du prgm est de poser des questions qui sont contenues dans un fichier texte, et il semble qu'il n'arrive pas à ouvrir le fichier en question... qui pourtant existe bien, et est dans le même dossier que la page... Si quelqu'un à une petite idée de ce qu'il se passe :s Merci |
|
|
|
|
|
#2 (permalink) |
|
Membre Confirmé
![]() |
Bonjour,
Est ce que tu peux nous poster la partie du code concerné ? Il se peut qu'il s'agit des droits d'accées. sachant que ce probléme ne se pose pas quand on exécute sous AppletViewer Merci Dernière modification par kmdkaci ; 13/11/2008 à 19h00 |
|
|
|
|
|
#3 (permalink) |
|
Membre à l'essai
![]() Date d'inscription: avril 2007
Localisation: Blagnac
Âge: 20
Messages: 43
|
Voilà ma méthode perso qui e permet de lire dans un fichier apres une "marque"
Code :
public String lireMarque(String mark, boolean lireApres){ //retourne la ligne commencant par une marque String fichier = lire(); String retour; int index = fichier.indexOf(mark); //recherche la premiere occurence de mark fichier = fichier.substring(index); index = 0; int indexFin = (fichier.indexOf("\n"));//recherche la fin de ligne if (lireApres)//deplace la tete de lecteur apres la marque index += mark.length(); if (indexFin != 0) retour = fichier.substring(index, indexFin); else retour = fichier.substring(index); return retour; } Merci Dernière modification par quentin06 ; 13/11/2008 à 18h25 |
|
|
|
|
|
#4 (permalink) |
|
Membre Confirmé
![]() |
D'abord que fait l'Applet sous le navigateur ? Parce que quand tu dis ça marche pas , c'est vague ! Est ce qu'il y a un message d'erreur? Dans ce cas cliques droit sur le carée de l'Applet et faites afficher le message.
Pour les droits d'acées, saches que tu ne peux pas pas accéder à un endroit autre que celui de l'Applet (il teste ça par rapport à la racine du chemin, comme par example http://www.monsite..... Aussi l'Applet ne peux pas écrire sur le poste client, sauf s'elle est signée. |
|
|
|
|
|
#5 (permalink) |
|
Invité de passage
![]() Date d'inscription: novembre 2008
Messages: 4
|
bonsoir tt le monde,
as tu essayer d ajouter l'option CODEBASE="file:///C:\Users\...\X" où X est le dossier de ton projet? ps: si ta classe Bonjour.class se trouve ds le dossier X1\X2\...\Xi alors mettre la valeur de Code à "X1.X2. ... . Bonjour.class" ps: evidemment ceci est valable si ta classe se trouve sur ton ordi... sinon au lieu de "file..." il faudra mettre "http..." |
|
|
|
|
|
#6 (permalink) |
|
Membre à l'essai
![]() Date d'inscription: avril 2007
Localisation: Blagnac
Âge: 20
Messages: 43
|
Pour kmdkaci :
La console Java m'indique "Fichier innaccessible" qui provient de la méthode lire() Code :
public String lire (){
try {
String s = "";
String fin;
FileReader fr = new FileReader(nomFichier);
BufferedReader buffer = new BufferedReader(fr);
do {
fin = buffer.readLine();
if (fin != null)
s += "\n"+fin;
}while (fin != null);
buffer.close();
return s;
} catch (Exception e){
System.out.println("Fichier inaccessible");
return("");
}
}
|
|
|
|
|
|
#7 (permalink) |
|
Membre à l'essai
![]() Date d'inscription: avril 2007
Localisation: Blagnac
Âge: 20
Messages: 43
|
Pour Flagada Johnes :
J'ai fais comme tu dis, mais maintenant il ne trouve plus la class :s Code :
<html> <head> <title>Applet JAVA</title> </head> <body> <applet code = "AppletCode.class" CODEBASE="file:///C:\Users\Quentin\Documents\T46\Code1 archive = "CodeTest.jar" width = "400" height="300"> </applet> </body> </html> Code :
charger : classe AppletCode.class introuvable. java.lang.ClassNotFoundException: AppletCode.class at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source) at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source) at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.io.FileNotFoundException: C:\Users\Quentin\Documents\T46\Code1 archive =\AppletCode\class.class (Le chemin d'accès spécifié est introuvable) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(Unknown Source) at java.io.FileInputStream.<init>(Unknown Source) at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source) at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown Source) at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source) at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source) at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) ... 7 more Exception : java.lang.ClassNotFoundException: AppletCode.class Merci à tous les deux pour votre aide !!! |
|
|
|
|
|
#8 (permalink) | |
|
Membre Confirmé
![]() |
Bonjour,
Deux choses : 1- Pour ce qui est de l'erreur Fichier inaccessible, c'est ton message lors de la levée de l'excpetion. je te conseille que lors du développement, vaut mieux afficher l'excpetion elle même Code :
(System.out.println("Erreur : "+e) 2 - Quand tu écris : Citation:
A mons avis ton probléme est simple à résoudre si tu respectes ces indications. Merci |
|
|
|
|
|
|
#9 (permalink) |
|
Membre à l'essai
![]() Date d'inscription: avril 2007
Localisation: Blagnac
Âge: 20
Messages: 43
|
Merci beaucoup pour les réponses.
Je confirme j'ai bien la classe dans le même dossier que la page html, mais je ne comprend pas la syntaxe du CODEBASE, je vais chercher sur google... Mais l'important me semble être ceci Code :
Erreur : java.security.AccessControlException: access denied (java.io.FilePermission Questions.txt read) Merci |
|
|
|
|
|
#10 (permalink) | |
|
Membre Confirmé
![]() |
Re,
Bah CodeBase c'est pour indiquer le répertoire où se trouve ta classe. Imagine que t'as un répertoire Rep1 qui contient ta page HTML, et Rep2 qui est dans Rep1 contient ta classe. Dans ce cas tu fais CODEBASE="Rep2" Mais si ta classe est dans le même répertoire que ta page HTML, tu n'auras pas besoin de l'option CODEBASE. En ce qui concerne le message : Citation:
|
|
|
|
|
|
|
#11 (permalink) |
|
Membre à l'essai
![]() Date d'inscription: avril 2007
Localisation: Blagnac
Âge: 20
Messages: 43
|
Merci,
Pour le moment afin de simplifier les choses, j'ai mes 3 fichiers qui sont dans le même répertoire, ma classe, mon fichier texte et mon fichier html. La chose bizarre c'est que mon fichier texte est dans un répertoire dans lequel j'ai tous les droits, enfin à priori... (je suis pas encore sur serveur, je fonctionne en local) |
|
|
|
|
|
#12 (permalink) |
|
Membre à l'essai
![]() Date d'inscription: avril 2007
Localisation: Blagnac
Âge: 20
Messages: 43
|
J'arrive à ouvir le fichier .txt, en fait il faut savoir qu'un applet ne peux pas accéder à un fichier, ou à n'importe quoi s'il n'est pas signé.
Pour ceux que ca interresse voici là solution expliquée : ici Maintenant le l'applet arrive à lire le fichier texte, mais plante toujours :s Code :
Exception in thread "thread applet-AppletCode.class-4" java.lang.NoClassDefFoundError: Code at AppletCode.start(AppletCode.java:10) at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Code :
public class AppletCode extends Applet{ Code code; Frame frame; public void init(){ code = new Code("Questions.txt"); } public void start(){ frame = new Frame(code.nouvelleDiapo(1), code); } public void paint(Graphics g){} } Si quelqu'un a une chtite idée, je suis preneur :s @ plus je vous tiens au jus Dernière modification par quentin06 ; 17/11/2008 à 16h16 |
|
|
|
|
|
#13 (permalink) |
|
Membre à l'essai
![]() Date d'inscription: avril 2007
Localisation: Blagnac
Âge: 20
Messages: 43
|
euhhhh
Aujourd'hui je n'ai plus le même message d'erreur :s:s mais je ne le comprend pas plus que le précédent. Si quelqu'un peut m'aider Code :
java.security.AccessControlException: access denied (java.lang.RuntimePermission exitVM.0) at java.security.AccessControlContext.checkPermission(Unknown Source) at java.security.AccessController.checkPermission(Unknown Source) at java.lang.SecurityManager.checkPermission(Unknown Source) at java.lang.SecurityManager.checkExit(Unknown Source) at javax.swing.JFrame.setDefaultCloseOperation(Unknown Source) at Frame.<init>(Frame.java:29) at AppletCode.start(AppletCode.java:11) at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Exception : java.security.AccessControlException: access denied (java.lang.RuntimePermission exitVM.0) PS petite question, est-ce qu'un applet est capable d'ouvrir une JFrame ? Dernière modification par quentin06 ; 18/11/2008 à 13h25 |
|
|
|
|
|
#14 (permalink) |
|
Membre Confirmé
![]() |
bah le message dit que tu n'as pas le droit d'y accéder. tu essayes d'acceder (de modifier) un fichier en local... Dans le pire des solutions, essayes de signer ton Applet.
Pour ta 2em question Applet --JFrame, saches que l'Applet derive de JPanel et non de JFrame. Mais que veux-tu obtenir exactement ? |
|
|
|
|
|
#15 (permalink) |
|
Membre à l'essai
![]() Date d'inscription: avril 2007
Localisation: Blagnac
Âge: 20
Messages: 43
|
Merci pour ta réponse, je l'espérait même plus.
Mais ce que je ne comprend pas c'est que mon applet est signé... Ensuite j'ai vu sur un autre forum, qu'un applet ne pouvait pas ouvrire une JFrame.. mais je suis étonné, tu confirme ? Le but de l'applet est d'ouvir une JFrame qui contient du texte et une image, ce texte se trouvant dans le fichier texte... Merci |
|
|
|
|
![]() |
![]() |
||
Applet fonctionne sous eclipse mais pas sous FF
|
||
| Outils de la discussion | |
|
|