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 :

Translation de tous les elements d'un JPanel


Sujet :

AWT/Swing Java

Vue hybride

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

    Informations forums :
    Inscription : Septembre 2006
    Messages : 30
    Par défaut Translation de tous les elements d'un JPanel
    Bonjou,

    j'aimerai savoir comment deplacer tout le contenu d'un JPanet (un ensemble de JButton, JLabel etc...) par une translation.

    J'utilise la methode g.translate(x,y) dans ma methode paintComponent()
    Qui fonctionne au premier affichage, mais le JButton reapparait a sa position initinale des que je passe la souris a cette position.

    Merci pour vos reponses

  2. #2
    Membre expérimenté Avatar de jibbi
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 165
    Par défaut
    Bonjour,
    L'emplacement des compsants est réalisé par les LayoutManager. Il n'y a aucun Layout qui perment de placer un composant à (x, y) position.

    La seule facon d'y arriver est de récupérer le Graphics de chaque composant et de le dessiner à (x,y) sur le conteneur. Ca fonctionne mais c'est aller contre les règles de l'art...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 30
    Par défaut
    Merci !!!
    Bopn alors peut etre que je prends mal le pb...

    Voila je m'explique.

    Ce que je veux fair, c'est un JPanel qui possede des bordures definies par des images.
    Ce que j'ai donc fait c une classe qui extends JPanel, qui rajoute les images de bordures dans sa methode "paintComponent" et qui clip et translate ensuite le contexte graphique pour que ce que je dessine dedans ne viennent pas se dessiner sur les bordure.
    Ca marche tres bien pour des panel ds lesquelles je dessine, mais pas ceux pour lequels j'ajoute des composants...
    une petite idée peut etre ?

  4. #4
    Membre expérimenté Avatar de jibbi
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 165
    Par défaut
    Bojour,

    ce que je dessine dedans ne viennent pas se dessiner sur les bordure.
    Tous les object dérivés de la class JComponent possède la méthode setBorder(). En ajoutant une bordure de cette facon, la bordure devrait rester visible peu importe ce qu'on dessine sur le composant.

    On peut créer toute sorte de Border avec la class BorderFactory:
    http://java.sun.com/javase/6/docs/ap...erFactory.html

    Pour créer une bordure avec une image c'est qqch comme:
    panel.setBorder(BorderFactory.createMatteBorder(
    -1, -1, -1, -1, icon));


    On explique ici en détaile comment créer des brodure:
    http://java.sun.com/docs/books/tutor...ts/border.html


  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 30
    Par défaut
    MERCI BCP POUR VOTRE AIDE !!!!!!!!!!!!!



    EDIT :
    Bon j'ai fait mon Border a moi, ca marche nikel pour tout ce qui est panel avec des layout, des JButton etc, mais pour les panel dans lesquelles je dessine, ben l'origine du contexte grapique par du point haut gauche de la bordure...
    Comment faire pour desinner dans la partie interieur seulement ?
    g.translate en debut de paint c ok, mais apres c la souris qui est au fraise...

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/05/2007, 11h52
  2. selectionner le count et tous les elements d'une table
    Par toddy_101 dans le forum Langage SQL
    Réponses: 16
    Dernier message: 28/12/2006, 19h12
  3. Récupérer tous les elements d'un DIV
    Par arnolem dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 18/07/2006, 15h13
  4. recuperer tous les elements d'une JList
    Par ejaub dans le forum Composants
    Réponses: 2
    Dernier message: 01/02/2006, 23h12
  5. [JDBC]Boucle sur tous les éléments du ResultSet
    Par Terminator dans le forum JDBC
    Réponses: 1
    Dernier message: 22/09/2005, 19h30

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