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 :

[GridBagLayout]image en fond


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut [GridBagLayout]image en fond
    voilà j'aimerai savoir avant de me lancer s'il est possible d'avoir une image qui remplirait toute la grille de mon GridBagLayout et des boutons par dessus?.

    Autrement dit si j'ajoute un composant à une cellule qui en contient déjà un,est -ce que ce dernier s'efface entierement ou juste la partie sur laquelle on ajoute le nouveau composant?

    j'espere avoir été assez clair.
    Merci de votre aide


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 904
    Billets dans le blog
    54
    Par défaut
    Ce n'est pas dans le GridBagLayout que tu dois afficher ton image mais dans le panel parent de tes boutons ; en redefinissant sa methode protected void paintComponent(Graphics g). Apres tu peux aussi jouer avec setOpaque(boolean isOpaque) sur les boutons de maniere a ce qu'on puisse voir l'image au travers.

    Pour la 2nd question, ca depend du layout utilise. Ou alors j'ai pas compris la question.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Merci pour ton aide Bouye
    le seul petit soucis qui reste,c'est que quand je lance mon appli,l'image ne s'affiche pas,je suis obligé de double cliquer sur la barre de titre de ma frame (la redimensionner) pourque l'image s'affiche.
    j'ai essayé de mettre un repaint() à mon JPanel mais ça ne marche toujours pas


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  4. #4
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 904
    Billets dans le blog
    54
    Par défaut
    Il est possible que suivant la methode utilise pour le chargement l'image ne soit pas encore en memoire lors de l'affichage initial.
    As-tu egalement essaye de mettre this (si this est le panel), dans la methode drawImage(image, x, y, observer), au lieu de null pour l'ImageObserver.

    Note perso : je met toujours null mais toutes mes images sont toujours chargees de maniere synchrone.

    Peux-tu nous montrer du code STP ?
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  5. #5
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    j'ai essayé avec this mais sans succés.Peux-tu expliquer ce qu'est un observer?,merci beaucoup.

    voici mon code:
    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
     
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
     
    public class PanneauCarte1 extends JPanel
    {
     
    	private final GridBagLayout gbl=new GridBagLayout();
    	private  GridBagConstraints contraintes= new GridBagConstraints();
    	private  java.awt.Toolkit toolkit = java.awt.Toolkit.getDefaultToolkit();
    	private  Image image = toolkit.getImage("fondecran.png");
     
     
    	public PanneauCarte1()
    	{
    		super();
    		setLayout(gbl);
     
    	}
     
    	public void paintComponent(Graphics g) 
    	{
                    g.drawImage(image,0,0,null);
          } 
     
     
    }


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  6. #6
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 904
    Billets dans le blog
    54
    Par défaut
    Direct depuis la doc :

    public interface ImageObserver

    An asynchronous update interface for receiving notifications about Image information as the Image is constructed
    EDIT - En fait il te faut probablement (re)implementer les methodes de cette interface pour faire un repaint() quand l'image a finit d'etre chargee.

    Sinon, et c'est plus simple,
    essaie de charger ton image de maniere synchrone au choix :

    - via une ImageIcon.

    - en utilisant ImageIO.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  7. #7
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Merci infinement bouye
    Tu es un Dieu vivant

    ça marche impec',je suis passé par une ImageIcon,bien que je n'ai pas compris ce que veut dire charger une image de maniere sychrone.

    P.S:je ne me suis pas encore intéréssé aux I/O en java,ça a un rapport? en tout cas avec ImageIo surement..


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  8. #8
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 904
    Billets dans le blog
    54
    Par défaut
    De rien.

    - Asynchrone : quand tu utilises Toolkit, la methode retourne immediatement avec une image toute vide qui est chargee en fond (dans une autre thread probablement a moins que ce ne soit quand il reste du temps d'execution de disponible). Ca fait des annees que je n'ai pas utilise cette methode. C'est plus rapide mais tu n'as pas (le contenu de) ton image immediatement.

    Quand on utilise le MediaTracker ca marche aussi de cette maniere non ? Je ne l'ai jamais utilise cette methode.

    - Synchrone : n'importe laquelle des methodes synchrones bloque et ne retourne que quand l'image a ete complement chargee. Ainsi si l'image est tres tres grosse ou est situee sur une URL distante, le programme peut mettre pas mal de temps a se lancer. Perso je n'utilise que ces methodes-la.

    Ben comme son nom l'indique la classe java.imageio.ImageIO en particulier et l'API ImageIO en general servent justement a faire des operations de lecture/ecriture sur... des images
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

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

Discussions similaires

  1. Image de fond pour xdm
    Par BloodyImp dans le forum Applications et environnements graphiques
    Réponses: 5
    Dernier message: 15/09/2004, 16h47
  2. boîte de dialogue avec image de fond + texte
    Par Eugénie dans le forum MFC
    Réponses: 13
    Dernier message: 31/08/2004, 13h32
  3. image de fond à la taille de la form
    Par littledoudou dans le forum C++Builder
    Réponses: 5
    Dernier message: 20/01/2004, 14h15
  4. Comment mettre une image en fond de JFrame
    Par marc26 dans le forum Débuter
    Réponses: 3
    Dernier message: 19/01/2004, 17h57
  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, 10h45

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