IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

Image arrière plan et composants


Sujet :

AWT/Swing Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 34
    Points : 36
    Points
    36
    Par défaut Image arrière plan et composants
    Bonsoir

    j'ai une image comme arrière plan dans mon Jpanel (PanAcceuil) qui hérite de Jpanel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public void paint(Graphics g) {
    		 try {
    			Image img = ImageIO.read(new File("Images/img.jpg"));
    			g.drawImage(img, 0, 0, this);
    		 } catch (IOException e) {
     
    			e.printStackTrace();
    		}
     
    	}
    et j'assigne ce panel à une Jframe jusque là tout marche à merveille
    mais quand j'ajoute des zone de texte des labelles ou des boutons il ne s'affiche pas.

    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
    public class AjoutSite extends JFrame {
     
    	private PanAcceuil  pannaux = new PanAcceuil();
    	private JTextField textField;
    	private JButton btnAjouter;
    	public AjoutSite() {
     
                    pannaux.setLayout(null);
     
    	        btnAjouter = new JButton("Ajouter");
    		btnAjouter.setBounds(242, 275, 89, 23);
    		pannaux.add(btnAjouter);
     
    		textField = new JTextField();
    		textField.setBounds(222, 193, 86, 20);
    		pannaux.add(textField);
    		textField.setColumns(10);
    		this.setContentPane(pannaux);
    }
    }
    remarque les éléments s'affichent lorsque je les survole

    merci pour votre aide

  2. #2
    Nouveau membre du Club
    Inscrit en
    Avril 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 34
    Points : 36
    Points
    36
    Par défaut
    Bon enfin je viens de trouver la solution

    La solution c'est d'utiliser la méthode paintComponent au lieu de paint car j'utilise des éléments Swing

    bon voila le code complet ça peut aider quelqu'un d'autre

    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
     
    public class PanAcceuil extends JPanel{
    	public PanAcceuil() {
    		setLayout(null);
    	}
    public void paintComponent (Graphics g) {
    		 try {
    			Image img = ImageIO.read(new File("Images/img.jpg"));
    			g.drawImage(img, 0, 0, this);
     
    		 } catch (IOException e) {	
    			e.printStackTrace();
    		}
     
    	}
    }
    au niveau de la fenêtre je ne change rien

    aller merci d'avoir jeter un coup d’oil

  3. #3
    Membre actif Avatar de Vikisme
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2007
    Messages : 172
    Points : 228
    Points
    228
    Par défaut
    En fait, ton problème avec la méthode paint, c'est que tu n’appelais pas la méthode de ton JPanel que tu surchargeais...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public void paint(Graphics g) {
        try {
            Image img = ImageIO.read(new File("Images/img.jpg"));
            g.drawImage(img, 0, 0, this);
        } catch (IOException e) {
            e.printStackTrace();
        }
        super.paint(g);
    }
    Sinon, pour des questions de performances, il est préférable de ne lire l'image qu'une seule fois et non à chaque fois que le panneau est redessiné...
    Tout passe, tout casse
    Le joint le cul lassent...


    http://www.myspace.fr/geampa_raler

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Image arrière plan non répété
    Par Baldor dans le forum Excel
    Réponses: 1
    Dernier message: 20/06/2009, 20h10
  2. image arrière plan
    Par sofiane44 dans le forum NetBeans
    Réponses: 3
    Dernier message: 25/04/2008, 11h57
  3. Image arrière-plan d'un tableau à étirer ?
    Par arkandias dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 31/10/2007, 11h31
  4. [Access] Etat : Image arrière plan
    Par mulanzia2003 dans le forum IHM
    Réponses: 1
    Dernier message: 03/08/2007, 15h22
  5. Image arrière plan dispatchée
    Par Mister Shell dans le forum Mise en page CSS
    Réponses: 10
    Dernier message: 08/03/2007, 08h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo