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 :

[Swing][débutant] problème de définition de la taille d'un component


Sujet :

AWT/Swing Java

  1. #1
    Membre actif
    Avatar de Wormus
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Points : 276
    Points
    276
    Par défaut [Swing][débutant] problème de définition de la taille d'un component
    J'ai fais une fenetre et dedans j'essaye de mettre un component JComboBox ! Le problème est qu'il prend par défaut la taille de la fenêtre et quand j'essaye de faire un setSize, ça ne change rien !!!!

    J'ai essayé de trouver des exemples mais je ne trouve (bizarrement) rien sur ce problème !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    import javax.swing.JComboBox;
    import javax.swing.JFrame;
    
    
    
    
    public class FenClient {
    
    
    	
    	JFrame frame;
    	JComboBox combobox1;
    	
    	public FenClient(String client) {
    		this.frame = new JFrame("Client - " + client);
    		this.frame.setSize(800, 600);
    		this.frame.setResizable(false);
    		this.frame.setLocationRelativeTo(null);
    		this.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		
    
    		
    		this.combobox1 = new JComboBox();
    		this.combobox1.setSize(100,30);
    		this.frame.add(this.combobox1);
    		
    		this.frame.setVisible(true);
    		
    		
    		this.combobox1.addItem("M");
    		this.combobox1.addItem("Mme");
    		this.combobox1.addItem("Mlle");
    	
    		
    	}
    	
    	
    }
    J'ai aussi essayé de changer la position de la ligne : this.combobox1.setSize(100,30);
    mais ça ne change rien !!!!!!


    Merci

  2. #2
    Membre habitué Avatar de BlackWood
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 167
    Points : 169
    Points
    169
    Par défaut
    Bonjour,

    - Les this avant frame et comboBox1 sont inutiles.
    - Les solutions sont nombreuses, tu peux jouer avec les layout :
    Ajoute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    frame.setLayout(new FlowLayout());
    Et déjà, là, ça marchera mieux...

    Tu peux aussi (optionnel) :
    - Faire hériter ta classe de JFrame (extends JFrame) si c'est la fenêtre principale. Question de pratique...
    - Pour les JComboBox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String[] liste = {"Mme","Mlle","M"};
    JComboBox cb = new JComboBox(liste);
    plutot que addItem() à chaque fois...

    EDIT : des conseils à la volée peuvent être truffé de petites erreurs... Là, je pense que c'est bon

  3. #3
    Membre actif
    Avatar de Wormus
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Points : 276
    Points
    276
    Par défaut
    Merci beaucoup BlackWood ça marche bien mieux avec le FlowLayout()

  4. #4
    Membre habitué Avatar de BlackWood
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 167
    Points : 169
    Points
    169
    Par défaut
    De rien !
    Cependant, ce n'est qu'un exemple, FlowLayout est le layout de base. Il en existe des bien plus perfectionné.
    Jette un oeil sur cette page : Positionner des composants

  5. #5
    Membre actif
    Avatar de Wormus
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Points : 276
    Points
    276
    Par défaut
    tu as anticipé ma prochaine question ^^

  6. #6
    Membre actif
    Avatar de Wormus
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Points : 276
    Points
    276
    Par défaut
    Voilà juste pour dire que j'ai continuer à galérer en utilisant un GridBagLayout pour positionnner mes éléments (problème pour définir la taille de mes objets)

    J'ai pas mal essayé avec la méthode setSize mais ça n'avait aucun effet et j'ai finalement réussi à trouver la méthode setPreferredSize() qui me permet de définir la taille normal de l'objet (taille changeant si elle est impossible)

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

Discussions similaires

  1. [Débutante] problème de définition de type
    Par Sara-SW dans le forum Caml
    Réponses: 5
    Dernier message: 20/04/2011, 17h51
  2. [Swing] Problème de placement et de taille des composants
    Par CrazySeb dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 22/04/2006, 14h56
  3. [swing][JComboBox]Problème de taille
    Par n!co dans le forum Composants
    Réponses: 8
    Dernier message: 06/03/2004, 10h53
  4. [débutant] Problèmes avec CRegKey
    Par Pedro dans le forum MFC
    Réponses: 4
    Dernier message: 10/11/2003, 15h28
  5. Réponses: 11
    Dernier message: 02/09/2003, 14h20

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