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

Agents de placement/Fenêtres Java Discussion :

Image en fond de fenêtre


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 11
    Par défaut Image en fond de fenêtre
    Bonjour,

    je met une image en fond d'écran d'une JFrame en lui attribuant un JPanel qui dessine une image, cette image est mon fond d'écran.

    Seulement ensuite je ne peux plus ajouter de JLabel à cette fenêtre, j'arrive par contre à lui attribuer des JButton.

    Comment palier ce problème et afficher du texte par dessus mon image?

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Donne ton code.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 11
    Par défaut
    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
    public class FondCreation extends JPanel{
     
    		public FondCreation(){
    			super();
    			setLayout(null);
    		}
     
    		public void paint(Graphics g){
    			g.drawImage(this.getToolkit().getImage("./images/fond_aide.jpg"),0,0,this);
    		}
    	}
     
    	public VueCreationPlanete(){
    		setTitle("Creation planete");
    		setResizable(false);
    		setModal(true); 		// la fenetre reste toujours au premier plan
    		Toolkit t = this.getToolkit();	
    		Dimension d = t.getScreenSize();
    		setBounds((int)(d.getWidth()/2) - 200, (int)(d.getHeight()/2) - 300, 400, 600);		//place la fenetre au milieu
    		FondCreation fond = new FondCreation();
     
     
    		valider.setBounds((getWidth()/2) - (75/2),getHeight() - getHeight()/7, 75, 25);
    		nomPlanete.setBounds((getWidth()/2) - (150/2), getHeight() - 590, 150, 25);
    		fond.add(valider);
    		fond.add(nomPlanete);
     
    		//this.add(nomPlanete);
    		//this.setLayout(null);
    		//add(valider);
    		setContentPane(fond);
    		setVisible(true);
    	}
    La classe FondCreation est une classe interne. J'ai fait différent test donc c'est plus le code initial.

    Le Jlabel s'affiche si j'enlève la méthode paint, si je me contente de mettre le drawImage en commentaire il ne s'affiche pas

  4. #4
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Ouhlala ! D'abord, il faut surcharger "paintComponent" au lieu de "paint".
    Ensuite, il ne faut jamais faire de traitement lourd dans cette méthode, donc ne jamais y charger une image à partir d'un disque. Tu dois le faire une fois pour toute dans le constructeur.
    Enfin, tu dois utiliser la méthode parent "paintComponent" pour réafficher les composants internes.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 11
    Par défaut
    Effectivement ca passe mieux merci, je n'avais jamais utilisé painComponent donc je ne savais pas.

    Pour le chargement de l'image grosse erreur :s

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

Discussions similaires

  1. Charger image bmp comme fond de fenêtre display
    Par vasilpapa dans le forum Haskell
    Réponses: 3
    Dernier message: 30/01/2015, 11h10
  2. [WD19] Transparence des images de fond de fenêtre
    Par lololebricoleur dans le forum WinDev
    Réponses: 2
    Dernier message: 30/07/2014, 12h15
  3. Une image en fond d'une fenêtre
    Par zeecrowddev dans le forum Contribuez
    Réponses: 0
    Dernier message: 16/06/2014, 23h15
  4. Image en fond de fenêtre
    Par Saintux dans le forum GTK+ avec C & C++
    Réponses: 5
    Dernier message: 30/03/2010, 18h06
  5. [VB6] [Graphisme] Image de fond stretchable dans mdiform
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 17/02/2003, 11h45

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