Bonjour,

Je suis entrain de travailler sur un applet java et le problème c'est que je n'arrive même pas à afficher une image tout ça car j'ai une "SecurityAccessException", ce que je comprend vu qu'un applet ne peut pas accéder au disque il ne peut accéder qu'a son serveur, j'ai essayé avec wamp de mettre mon projet sur le localhost mais j'ai toujours le même problème.
J'utilise JCreator mais quand je lance mon projet avec lui, il lance l'applet viewer et j'ai ni exception, ni image qui s'affiche...

Voila le code que j'utilise pour afficher une image dans un JPanel, en sachant que j'utilise le système MVC c'est pour ça que mon image est dans "Res" (je précise car le problème pourrai venir du path mais j'en ai essayé plein donc je pense que mon code pour l'image est bon...):

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
public class ViewCanvasBox extends JPanel
{
	private static final long serialVersionUID = 1L;
	private CtrlCanvasBox myBox;
 
    private void createCanvasBox()
    {
	 setPreferredSize(new Dimension(myBox.getWidth(), myBox.getHeight()));
    	 setBorder(BorderFactory.createLineBorder(Color.black));
    	 setToolTipText("<html><u>Coordinate:</u><br/>-x: "
    		+(myBox.getCoordX()+1)+"<br/>-y: "
    		+(myBox.getCoordY()+1)
    		+"<br/><u>Properties:</u><br/>-toto<br/>-tata</html>");
    }
 
    public ViewCanvasBox(CtrlCanvasBox box)
    {
    	myBox = box;
    	createCanvasBox();
    	repaint();
    }
 
    protected void paintComponent(Graphics g)
    {
	g.drawImage(new ImageIcon("./Res/grass.gif").getImage(), 0, 0, null);
    }
}

EDIT:

J'ai fais une modification pour essayer de comprendre d'où venais le problème, et lorsque je lance avec JCreator (donc appletviewer) j'ai que l'exeption 1 sur l'écriture (SecurityAccessControl.Exception "fichier" write), et quand je l'ouvre avec le navigateur j'ai les 2, d'ailleur pour l'exeption 2 ça ouvre une dialoug box avec rien d'écrit dessus, je sais que c'est cette exeption car le nom de la dialogue box est "Exeption 2", mais y a ni image ni rien et y en a 2 qui s'ouvre, ça doit être du au fait que je l'ai placé dans le paincomponent, ce qui je me doute bien n'est pas très judicieux, mais c'est juste pour essayer de mieux comprendre. Ca voudrait logiquement dire que l'appletviewer a les droits de lecture, mais aors pourquoi il affiche pas l'image et n'envoie pas d'exeption!? il devrait faire soit l'un soit l'autre normalement!



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
public class ViewObject extends JComponent
{
    private String test1, test2;
 
    public ViewObject(String _test1, String _test2)
    {
    	test1 = _test1;
    	test2 = _test2;
 
    	setPreferredSize(new Dimension(50, 50));
    	setBorder(BorderFactory.createLineBorder(Color.black));
 
    	repaint();
    	try
    	{
	    PrintWriter writer = new PrintWriter( new FileWriter("dummy.txt"),true );
	    writer.println("hello, world");
	    writer.close();
    	}
    	catch(Exception e)
    	{
    	    JOptionPane.showMessageDialog(null, e, "Exception 1", JOptionPane.INFORMATION_MESSAGE);
    	}
 
    }
 
    public void paintComponent(Graphics g)
    {
	try
    	{
	    g.drawImage(new ImageIcon("./Res/grass.gif").getImage(), 0, 0, this);
    	}
    	catch(Exception e)
    	{
    	    JOptionPane.showMessageDialog(null, e, "Exception 2", JOptionPane.INFORMATION_MESSAGE);
    	}
    }  
}
EDIT2: bon j'ai essayé de m'axer vers une autre direction en signant mon jar pour qu'il puisse avoir accès au disque (avant je pensais qu'avec appletviewer y avait tout les accès mais même pas -_-), mais voila un autre problème... Bon déja j'annonce je génère mon jar avec JCreator, mais je vois pas pourquoi y aurait des problèmes avec ça, ensuite j'utilise la commande pour signer que j'ai trouvé sur ce site (j'en utilisais une autre mais apparement vu que ça marche pas j'essaye celle-là), là tout se passe bien ça me dit:

The signer certificate will expire within six month
donc normalement tout s'est bien passé... (avec l'autre déjà il listé tout mes fichiers contenu dans le .jar et marquant "signed").

bref... ensuite je clique sur mon .html... Et là... rien, pas de certificat quelconque, rien à valider, juste l'applet qui ne marche pas à cause de l'affichage d'images...

PS: Voila ce que contient mon .html:

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
<html>
	<head>
		<title>Titre de ma fenêtre</title>
	</head>
	<body bgcolor="FF6600">
		<center>
			<applet
				code	= "MonPackage.MonApplet"
                               codebase= "."
				archive	= "MonArchiveSigne.jar"
				width	= "800"
				height	= "800"
				>
			</applet>
		</center>
	</body>
</html>