Bonjour,

j´essaie tant bien que mal de développer une applet qui affiche dans une zone de dessin une map monde sur laquelle j´affiche des choses.

J´utilise un border layout et j´ai placé la zone de dessin en son centre.
j´ai crée aussi une barre d´outils avec un bouton pour le moment.
J´ai juste essayé de tester si je pouvais placer cette barre d´outils dans les parties nord et sud du layout mais ca ne marche pas correctement lorsque j´observe le résultat sur une page web !
Les boutons sont masquées et n´apparaissent que lorsque la souris passe dessus ! Le premier bouton (Nord) apparait superposé sur la zone de dessin. De plus, la zone de dessin ne parait pas centrée comme les boutons.

Source de l´applet :

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
39
40
41
 
import java.awt.*;
import javax.swing.*;
 
 
public class EcotypeMap extends JApplet   {
 
	// Constantes de dimensions de l'applet
	private static int HAUTEUR = 550;
	private static int LARGEUR = 750;
 
	// Attributs
	private boolean mustStop;
	Image map;
	BarreOutils toolBar = new BarreOutils();
	ZoneMap screen;
 
	public void init() {
 
	setPreferredSize(new Dimension(LARGEUR,HAUTEUR));
 
	// Chargement de l'image de la MapMonde
	map = getImage(getCodeBase(),"map.gif");
 
	screen = new ZoneMap(map);
 
	// Placement des différentes parties de l'applet
	this.getContentPane().setLayout(new BorderLayout(2,2));
	this.getContentPane().add(toolBar,"North");
	this.getContentPane().add(screen,"Center");
	this.getContentPane().add(new BarreOutils(),"South");
 
	}
 
 
	public void paint(Graphics gc) {
 
		// Affichage de la MapMonde
	//	screen.afficheMap(gc);
 
	}
Code de la zone de dessin :

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
39
40
41
42
43
44
45
46
47
 
import java.awt.*;
import javax.swing.*;
 
public class ZoneMap extends JPanel {
 
 
	// Attributs de la classe
	private Image map;
	private int sizeX = 652, sizeY = 392;
 
	// Correspond aux longitude et latitude (valeurs réelles)
	private double xInf = -175 , yInf = -90;
	private double xSup =  +175 , ySup =  +90;
 
	public ZoneMap(){
 
		setBackground(Color.cyan);
 
	}
 
	public ZoneMap(Image map){
 
		// Image de la mapmonde
		this.map = map;
 
	}
 
	// Méthodes de la zone d'affichage
 
	// Méthodes pour la conversion des coordonnées cartographiques en pixels
	private int coordToPixX(double x) {
		return (int)(sizeX * (x-xInf)/(xSup-xInf));
	}
 
	private int coordToPixY(double y) {
		return sizeY-(int)(sizeY * (y-yInf)/(ySup-yInf));
	}
 
 
	// Affichage simple de la carte
	public void afficheMap(Graphics gc) {
 
		//Affichage de la mapmonde
		gc.drawImage(map,0,0,652,392,this);
 
	}
Code de la barre d´outils :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
import javax.swing.*;
 
public class BarreOutils extends JPanel {
 
	public BarreOutils(){
 
		JButton erase = new JButton("Erase"); 
		this.add(erase);
	}
 
 
}
En testant avec une fenetre classique (donc sans applet), l´affichage des boutons est correct donc que peut-il manquer ?

Merci d´avance.