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 :

[BoxLayout] le JTextField prend toute la place


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 71
    Par défaut [BoxLayout] le JTextField prend toute la place
    bonjour,
    j'ai un pb d'affichage de mon JTextfield. J'ai un JTextfiled puis 2 boutons que je voudrais afficher les uns en dessous des autres dans un JPanel.
    Aucun pb lorsqu'il sont afficher dans le flow mais des que je met :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    panneauRecherche.setLayout(new BoxLayout(panneauRecherche,BoxLayout.Y_AXIS));
    pour modifier l'affichage des mes elements, mon JTextField prend toute la taille du panneau.
    Comment puis je faire pour qu'il garde la bonne taille?

    merci

  2. #2
    Membre éclairé Avatar de trax44
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 300
    Par défaut
    .setSize(int x,int y)
    non ?

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 418
    Par défaut
    Citation Envoyé par trax44
    .setSize(int x,int y)
    non ?
    Le problème est que si la fenêtre est déplacée, ou que quoi que ce soit appelle la méthode repaint() ou update(), les composant reprendrons la taille calculée par défaut donnée par la méthode getPreferredSize().
    Tu peux donc surcharger cette méthode pour ton JTextField, histoire qu'il ait toujours une taille que tu auras paramètrée.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    JTextField monJTF = new JTextField() {
                public Dimension getPreferredSize() {
                      return new Dimension(hauteurJTF, largeurJTF);
                }};

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 71
    Par défaut
    ca ne marche pas.
    voila 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
     
    public void showPanneauRecherche(){
    		panneauRecherche = new JPanel();
    		panneauRecherche.setLayout(new BoxLayout(panneauRecherche,BoxLayout.Y_AXIS));
     
    		texteRech = new JTextField()
     
    		rechercher = new JButton("Rechercher");
     
    //Ajout des composants du panneau.
    		panneauRecherche.add(texteRech);
    		panneauRecherche.add(rechercher);
    		//rechercher.setAlignmentX(Component.RIGHT_ALIGNMENT);
    		panneauRecherche.add(rechAvancee);
    mon textfield prend toujours tout le panneau meme si je surcharge la fonction

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 418
    Par défaut
    Et en surchargeant la méthode getSize() ??
    Si ta fenêtre est maximisée, ça peut forcer ton JTextField à prendre une taille différente de sa taille "préférée". Essaie en surchargeant les 2 méthodes.

    Sinon, je sais pas...

  6. #6
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 820
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 820
    Par défaut
    Et en mettant simplement les lignes suivantes en plus:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    textRech.setPreferredSize(new Dimension(150,30));
    textRech.setMaximumSize(new Dimension(150,30));
    (en adaptant les dimensions à tes besoins...)
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

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

Discussions similaires

  1. ListView qui ne prend pas toute la place qu'il faut.
    Par ABandApart dans le forum Composants graphiques
    Réponses: 6
    Dernier message: 23/07/2011, 20h52
  2. image en fond qui prenne toute la place de son conteneur
    Par funckfot dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 05/04/2006, 15h04
  3. [Swt]Prendre toute la place du Widget Parent ?
    Par kedare dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 17/03/2006, 16h45
  4. CSS : un lien qui prend toute une ligne d'un tableau.
    Par pmithrandir dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 20/04/2005, 17h52
  5. Processus Sql Server prend toute la mémoire vive
    Par cracosore dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 19/02/2004, 18h53

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