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

Composants Java Discussion :

Coordonnées d'une icône dans un JLabel


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 47
    Par défaut Coordonnées d'une icône dans un JLabel
    Bonjour à tous,

    Je me retrouve confronté à un problème bien embettant. Le voici : j'ai une JFrame avec un BorderLayout. Dans la partie centrale du Layout se trouve un JLabel dans lequel se trouve une image sous forme de ImageIcon (donc mise avec la méthode setIcon() si je me souviens bien). Ce que je voudrais c'est trouver les coordonnées de l'emplacement de l'icône dans la fenêtre (sachant que l'icône est centrée).

    Comment est-ce que je pourrais faire ?

    Merci,

    Benjamin

  2. #2
    Membre éclairé Avatar de donnadieujulien
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    433
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 433
    Par défaut Ouais
    Ca tu peux le calculer en te creusant un peu le cerveau.

    Si j'ai bien compris l'origine de ton repère c'est la coin haut gauche de ta fenetre.

    Après tu dois pouvoir trouver les marges de ton layout...

    Puis la taille tu jLabel, et en fin la taille de ton image.

    Avec tout ca tu fais un petit mixage, et tu trouve les coordonnées qu'il te faut....

    PS : Les Layout, c'est de la m.....

  3. #3
    Membre Expert
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 097
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 097
    Par défaut Solution
    Pour récupérer le BorderLayout :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BorderLayout gestionnaireMiseEnPage = (BorderLayout)votreJFrame.getContentPane().getLayout();
    Puis, si vous êtes sûr que l'espace central de votre BorderLayout ne contient qu'un JLabel, alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Rectangle dimensionsEtPos = ((JLabel)gestionnaireMiseEnPage.getLayoutComponent(BorderLayout.CENTER)).getBounds();
    Coin supérieur gauche du JLabel central :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    System.out.println("X : " + Double.valueOf(dimensionsEtPos.getX()).toString());
    System.out.println("Y : " + Double.valueOf(dimensionsEtPos.getY()).toString());
    System.out.println("largeur : " + Double.valueOf(dimensionsEtPos.getWidth()).toString());
    System.out.println("hauteur : " + Double.valueOf(dimensionsEtPos.getHeight()).toString());
    Ne pas oublier dans les calculs l'éventuel existance d'un Vgap et d'un Hgap qui pourraient ajouter des pixels entre les espaces du BorderLayout.
    Pour les prendre en compte :
    gestionnaireMiseEnPage.getHgap() et gestionnaireMiseEnPage.getVgap()

    Attention cependant :
    Dans votre cas, j'ai cru comprendre que le JLabel affiche une ImageIcon. Dans ce cas, si le JLabel est d'origine et non retravaillé, l'image est affichée à sa taille complète, et positionnée avec son coin supérieur gauche comme point de placement. Dans la cas ou le JLabel aura été paramétré pour aligner son contenu horizontalement, alors il suffit de récupérer l'ImageIcon du JLabel, et récupérer sa largeur, et sa hauteur. Connaissant largeur et hauteur du JLabel, le calcul de la taille exacte de l'image devient possible.
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

Discussions similaires

  1. Afficher une date dans un JLabel
    Par yasmine* dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 01/05/2007, 13h11
  2. Ajouter une icônes dans la barre de titre
    Par fraric dans le forum Windows Forms
    Réponses: 8
    Dernier message: 11/02/2007, 21h22
  3. Utiliser une css dans un JLabel
    Par cereal dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 19/12/2006, 21h01
  4. Problème d 'affichage d une grile dans un JLabel
    Par louby dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 26/06/2006, 15h56
  5. Réponses: 5
    Dernier message: 05/03/2006, 14h39

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