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 :

Alignement de boutons


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
    Inscrit en
    Mai 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 29
    Par défaut Alignement de boutons
    Bonjour!

    je suis débutant en Java, et nouveau sur le forum... Veuillez donc excuser ma question si vous la trouvez pas très futée! ;-)

    J'ai un problème avec des JButtons. L'idée est de faire l'interface graphique d'une calculatrice (type calculatrice Windows). J'ai dons divisé mon clavier en plusieurs JPanels, afin de pouvoir aligner tous les boutons comme j'en ai envie. La partie principale du clavier est un GridLayout avec 1 ligne et 4 colonnes (+ un espace horizontal de 10 et vertical de 0).

    Seulement voilà: chaque bouton prend exactement la largeur à sa disposition, ce qui m'empêche d'avoir des boutons de tailles différentes. De plus, du coup, certains boutons sont trop étroits pour que leur label soit affiché, et il n'apparaît que "...".

    (Si mon explication est claire) Que me conseillez-vous??? Faut-il subdiviser mon clavier en un nombre plus important de JPanels, ou est-il possible d'agir directement sur la taille de mes boutons (pour qu'ils soient justifiés au texte, par exemple)?

    Merci beaucoup d'avance à ceux qui auront réussi à comprendre ma question!


    [Modéré par Didier] : ajout de tag dans le titre - Les règles du forum Java

  2. #2
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 29
    Par défaut
    En gros, voici mon problème:



    Et j'aimerais que le texte des JButtons s'affiche normalement (mais sans agrandir la fenêtre, elle doit garder cette apparence et être setResizable(false).

    NB: pour arriver à ce résultat, j'ai modifié ma mise en page par rapport au post précédent: dorénavant, la partie principale du clavier (c'est-à-dire en-dessous des checkbox et des 3 boutons Retour arrière, CE et C.

    Quelqu'un peut-il me mettre sur la voie? Faut-il plutôt réduire la police des boutons? agrandir les boutons? modifier la mise en page???

    Merci d'avance! [/i]

  3. #3
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 29
    Par défaut
    désolé... le coup est parti trop vite!

    Je voulais donc dire:
    NB: pour arriver à ce résultat, j'ai modifié ma mise en page par rapport au post précédent: dorénavant, la partie principale du clavier (c'est-à-dire en-dessous des checkbox et des 3 boutons Retour arrière, CE et C) est composée d'un GridLayout de 5 lignes et 11 colonnes (chaque "noeud" du GridLayout est donc occupé uniquement par un bouton), avec un gap horizontal de 2 et un gap vertical de 2 également.
    Merci d'avance!

  4. #4
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    Bonjour,

    avec un GridLayout, il est normal que tes boutons aient tous la même taille. Il faut que tu utilises un GridBagLayout, c'est un peu plus compliqué à mettre en oeuvre (à moins que tu ne disposes d'un IDE), mais tu pourras positionner les boutons à ta convenance et leur donner la taille souhaitée.

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    429
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 429
    Par défaut
    .. ou bien, comme tu le dis toi-même, tu peux diminuer la police des boutons. En première approche, une méthode simple est d'utiliser les balises HTML :
    "<HTML>texte normal<SMALL>texte en plus petit</SMALL><HTML>"

    Nicolas

  6. #6
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 29
    Par défaut
    Ok, mais il ne s'agit pas d'une applet, mais d'un programme autonome. Est-ce que les balises html peuvent tout de même fonctionner?

    N'y a-t-il pas une méthode quelconque (dans JButton, JComponent, ou je ne sais quoi...) qui permettre de modifier taille, police, couleur,... du texte d'un bouton?

    Merci d'avance!

  7. #7
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    Citation Envoyé par stöckli
    N'y a-t-il pas une méthode quelconque (dans JButton, JComponent, ou je ne sais quoi...) qui permettre de modifier taille, police, couleur,... du texte d'un bouton?
    taille, police... c'est la méthode setFont()
    couleur... méthodes setForeground() et setBackground()

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    429
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 429
    Par défaut
    Les balises HTML fonctionnent, même pour un programme autonome. Il suffit... d'essayer !

    La Javadoc montre toutes les méthodes applicables à un JButton, et tu trouveras probalement ce que tu souhaites, (EDIT) c'est-à-dire ce qu'Herve91 a signalé ci-dessus.

    Nicolas

  9. #9
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 29
    Par défaut
    Justement, j'ai cherché... et eu du mal à trouver ce qu'il me faut... Mais je vais y retourner!

    Merci pour ces réponses!

  10. #10
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 29
    Par défaut
    J'aurais encore une petite question: avec les balises HTML, tout baigne, le texte apparaît bien en plus petit... mais maintenant, il n'arrive pas à afficher tout le texte horizontalement sur certains boutons:



    Pourtant, la taille des boutons semble être amplement suffisante pour tout afficher, il me semble...

    Et j'ai beau farfouiller la JavaDoc, j'arrive pas à trouver d'où ça peut bien venir (je suis peut-être pas très doué notez bien!)... Y aurait-il des marges sur les boutons, ou quelque chose comme ça??? Avec une méthode pour les modifier?

    Re-merci d'avance!

  11. #11
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    Tu parles des boutons "x^y", "x^3", "n!" par exemple ?
    Quelle est la chaîne de caractères que tu places sur ces boutons ? Il semblerait que pour "x^y" ce soit "x ^ y", qui ne tient pas complètement sur une seule ligne, donc l'affichage se fait en vertical.
    Essaie de supprimer les espaces juste pour voir.

  12. #12
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 29
    Par défaut
    Je parle exactement de ces boutons!

    Pourtant, il n'y a pas d'espace:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
          JButton x_y = new JButton("<HTML><SMALL>x^y</SMALL></HTML>");
          x_y.setForeground(new Color(243,0,247));
          clavierTouches.add(x_y);
    Bizarre...

  13. #13
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    Et bien j'arrive au même affichage que toi !
    Les chaînes "x^y", "x^2", "x^3" ont une largeur plus importante que la chaîne "log" par exemple.
    Seule solution, agrandir légèrement tes boutons pour que ça tienne !

  14. #14
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    En fait, le comportement de l'affichage est modifié par la balise <html>.
    Avec balise, le texte est écrit en vertical s'il ne tient pas complètement en horizontal.
    Sans balise, le texte est tronqué et il apparaît des points, par exemple "x..." pour "x^y"

  15. #15
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 29
    Par défaut
    Pour ceux que ça intéresse, j'ai fini par trouver une réponse à ma question (merci Joseph!):

    Pour modifier les marges d'un bouton, il suffit de lui appliquer la méthode:

    ---> setMargin(new Insets(w,x,y,z));

    w,x,y et z sont des entiers:
    w = marge TOP
    x = marge LEFT
    y = marge BOTTOM
    z = marge RIGHT

    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    JButton monBouton = new JButton("Bouton de test");
    monBouton.setMargin(new Insets(0,0,0,0);
    Voilà!

    Et encore merci à ceux qui m'ont répondu!

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

Discussions similaires

  1. L'alignement du bouton Login dans un <asp:login
    Par zooffy dans le forum ASP.NET
    Réponses: 11
    Dernier message: 05/03/2008, 12h29
  2. aligner des boutons?.
    Par piotrr dans le forum Tkinter
    Réponses: 8
    Dernier message: 27/05/2007, 09h19
  3. Pb d'alignement de boutons
    Par Iodev dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 19/01/2007, 00h20
  4. Mise en forme / Alignement de boutons
    Par Sebou77 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 28/04/2006, 18h29
  5. [XML] alignement des boutons
    Par cisse18 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 24/02/2006, 15h44

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