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 :

[JButton]Redimensionner


Sujet :

AWT/Swing Java

  1. #1
    Membre habitué
    Inscrit en
    Mai 2005
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 130
    Points : 134
    Points
    134
    Par défaut [JButton]Redimensionner
    Je n'y arrive que par le biais des Layout des Panels contenant les JButton.
    Y a pas un moyen plus simple?

  2. #2
    Membre averti
    Avatar de Strab
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    338
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 338
    Points : 330
    Points
    330
    Par défaut
    Si un composant n'est pas dans un FlowLayout, tu ne contrôle que partiellement sa taille (ex : BorderLayout) voire pas du tout (ex : GridLayout). Donc la réponse à ta question est non, à moins qu'il soit dans un FlowLayout.

    Une bonne solution (je trouve) lorsque l'interface n'est pas trop complexe est d'utiliser les layout que tu veux comme tu veux, et d'y mettre systématiquement des JPanel gérés par un FlowLayout, et tu mets tes composants dans ces JPanel. Comme ça tu as beaucoup plus de libertés sur leur taille.

    Tu vois ce que je veux dire ?

  3. #3
    Membre chevronné
    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
    Points : 2 208
    Points
    2 208
    Par défaut
    mmmmm; ouai c'est un peu compliqué ça. Je pense ,qu'à ce moment là, il vaut mieux opter pour le GridBagLayout, non? parceque avoir plus de trois panels par "vue" je ne trouve pas ça très propre


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

  4. #4
    Membre habitué
    Inscrit en
    Mai 2005
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 130
    Points : 134
    Points
    134
    Par défaut
    Oui je vois très bien puisque c'est ce que je fais. Je voulais savoir si on pouvait faire autrement qu'en passant par des Layout, apparemment non
    Merci

  5. #5
    Membre averti Avatar de soad
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    520
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 520
    Points : 439
    Points
    439
    Par défaut
    Citation Envoyé par MeDioN
    Oui je vois très bien puisque c'est ce que je fais. Je voulais savoir si on pouvait faire autrement qu'en passant par des Layout, apparemment non
    Merci
    Si... tu peux très bien le faire en mettant le layout à null et placer tes composants en leur donnant des coordonnés avec setBounds(x,y,largeur,hauteur) mais apres c'est aussi à toi de gèrer l'agrandissement et le repositionnement des composants lorsque la taille de la fenetre est modifié...

  6. #6
    Gfx
    Gfx est déconnecté
    Expert éminent
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    Les layout c'est bien et faire des JPanel imbriques c'est bien. Le FlowLayout en revanche... est souvent source de mauvaises UI. Il est tres pratique mais pour des cas assez particuliers. N'oublie pas qu'avec certains layouts tu peux jouer avec setPreferredSize() sur tes composants.
    Romain Guy
    Android - Mon livre - Mon blog

  7. #7
    Membre averti Avatar de soad
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    520
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 520
    Points : 439
    Points
    439
    Par défaut
    Je profite de ce thread pour poser 2 questions...

    Citation Envoyé par Gfx
    Les layout c'est bien et faire des JPanel imbriques c'est bien.
    Cela deviens pas un peu lourd si l'on imbrique trop de JPanel ?

    et quel est l'intéret d'utilisé un JPanel plutot qu'un JComponent ? qu'apporte-t'il de plus ?

  8. #8
    Gfx
    Gfx est déconnecté
    Expert éminent
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    Tant que tu n'en imbriques pas plusieurs dizaines il n'y a pas de souci. Un JPanel est presque identique a un JComponent mais a un fond opaque que les JComponent n'ont pas. Ce font transparent des JComponent force la traversee de la hierarchie de composants pour le dessin et altere les performances.
    Romain Guy
    Android - Mon livre - Mon blog

  9. #9
    Membre averti Avatar de soad
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    520
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 520
    Points : 439
    Points
    439
    Par défaut
    Citation Envoyé par Gfx
    Tant que tu n'en imbriques pas plusieurs dizaines il n'y a pas de souci. Un JPanel est presque identique a un JComponent mais a un fond opaque que les JComponent n'ont pas. Ce font transparent des JComponent force la traversee de la hierarchie de composants pour le dessin et altere les performances.
    Et moi qui pensais que les JComponent devaient etre plus performents pcq il y a un héritage de moins et donc moins de code chargé en mémoire...

    merci

  10. #10
    Gfx
    Gfx est déconnecté
    Expert éminent
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    Quoi que tu fasses, une JFrame dispose d'un JPanel (son content pane), donc tu auras quand meme charge la classe et son code en memoire. Ce ne sont pas les instances qui prennent de la place dans le cas du JPanel. Regarde son code source, tu verras que c'est une classe tres simple qui ne fait rien de tres different du JComponent.
    Romain Guy
    Android - Mon livre - Mon blog

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 17/11/2009, 23h59
  2. Réponses: 0
    Dernier message: 16/11/2009, 12h17
  3. Redimensionner une image dans un JButton
    Par mooch dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 06/03/2008, 23h47
  4. Redimensionner JButton dans son conteneur
    Par chico_du_33 dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 09/12/2006, 18h40
  5. Comment redimensionner un jbutton ?
    Par Ares dans le forum JBuilder
    Réponses: 13
    Dernier message: 29/09/2003, 16h42

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