Comment superposer 2 JLabel ? [Débutant][Résolu] - Java - Programmation
Marsh Posté le 02-05-2003 à 13:58:33
ReplyMarsh Posté le 02-05-2003 à 13:58:34
Groomy a écrit : Je voudrais superposer 2 JLabel, dans une application, qui contiennent chacun une image. |
Je pense que le but de la manoeuvre est de créer un fond
pour cela, tu n'es pas obligé de passer par un label.
Tu devrais plutot déclarer comme attribut de ta classe une image et un element graphique.
dans la méthode paint tu crée le test :
if (img == null) {
img = createImage(800,600);
gImg = img.getGraphics();
}
tu déclares une seconde Image et un second élément graphique que tu peux modifier dans les méthodes de l'appli.
tu les regroupe finalement dans une meme image que tu affiches à l'écran
Si tu veux utiliser les labels, je te conseille de rendre null le Layout de ta JFrame et d'utiliser la méthode setLocation de tes objets
A+
Marsh Posté le 03-05-2003 à 18:09:06
J'ai résolu le problème en mettant null en argument du setLayout de ma JFrame, et en utilisant setBounds pour mes JLabel et ça marche très bien...
Marsh Posté le 02-05-2003 à 13:37:36
Je voudrais superposer 2 JLabel, dans une application, qui contiennent chacun une image.
Voici le code (qui fonctionne pas...) :
public class Fenetre extends JFrame {
public Fenetre() {
super("première version" );
this.setLocation(50,50);
this.setSize(800, 600);
this.addFond();
this.addPlateau();
}
private void addFond() {
ImageIcon imageEsp = new ImageIcon("../ww/espace1.jpg" );
JLabel fond = new JLabel(imageEsp);
this.getContentPane().add(fond);
}
private void addPlateau() {
ImageIcon imagePlat = new ImageIcon("../ww/plateau.jpg" );
JLabel plateau = new JLabel(imagePlat);
this.getContentPane().add(plateau);
}
}
la premièr image fait 800*600 pixel el la 2ième 400*400, je voudrais que la deuxième se superpose sur la première mais avec ce code seul la deuxième image apparait...
J'ai ésssayé plusieurs bricolages mais ça pas marché, merci de m'éclairer.
Message édité par Groomy le 03-05-2003 à 18:07:46