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 :

comment créer un espace entre les composant


Sujet :

AWT/Swing Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 20
    Points : 22
    Points
    22
    Par défaut comment créer un espace entre les composant
    Bonjour,

    j'ai créer une class qui permet que l'utilisateur choisi les composant a ajouter dans une platform le probléme mnt c comment créer un espace entre les composant par ce que comme vous le savais JAVA les met de gauche a droite un par un moi j'aimerai que chaque composant ce met dans une ligne. j'ai vu quelque tutoriel qui montre comment utiliser BoxLayout et Box.createVerticalBox() mais ca marche pas ou c'est moi qui n'a pas su l'utiliser
    mais en tout cas 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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
     
    public class evenement extends JFrame{
     
    	JFrame f;
    	Container c;
    	FlowLayout miseEnFlot;
    	ButtonGroup groupe;
     
    	public evenement(){
    		f = new JFrame();
        	c = getContentPane();
        	setSize(500, 300);
        	miseEnFlot = new FlowLayout();
        	c.setLayout(miseEnFlot);
        	groupe = new ButtonGroup();
        	setLocationRelativeTo(this.getParent());
        	setDefaultCloseOperation(3);
    	}
        public evenement(String titre) {
        	this();
        	setTitle(titre);    	
        }
     
        public void buttonBox(String arg){
        	JButton bouton = new JButton(arg);
        	this.add(bouton);
        	bouton.addActionListener(new Traiter());
        }
     
        public void Check(String arg){
        	JCheckBox Case = new JCheckBox(arg);
    		this.add(Case);
    		//Case.addActionListener(new Traiter());
        }
     
        public void Radio(String arg){
        	JRadioButton radio = new JRadioButton(arg);
    		groupe.add(radio);
    		this.add(radio);
        }
     
        public void labelText(String arg){
        	JLabel etiquette = new JLabel(arg);
    	    this.add(etiquette);
        }
     
        public void Text(int champ){
        	JTextField zoneTexte = new JTextField(champ);
        	this.add(zoneTexte);
        	zoneTexte.addActionListener(new Traiter());
        }
     
        public void Area(int width, int high){
        	JTextArea texteArea = new JTextArea(width, high);
        	this.add(texteArea);
        	//texteArea.addActionListener(new Traiter());
        }
     
        public void Scroll(Object[] arg){
        	JComboBox listeDeroulante = new JComboBox(arg);
        	this.add(listeDeroulante);
        	listeDeroulante.addActionListener(new Traiter());
        }
    }
    Merci pour l'aide,

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Et la Javadoc alors ?

    De plus, dans ton test, il te fallait une HorizontalBox, pas une VerticalBox...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre expérimenté Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Points : 1 540
    Points
    1 540
    Par défaut
    Au pire, mais en dernier recours parce que ce n'est pas la meilleur solution je pense, tu peux utiliser un "gridLayout"

    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
     
    JFrame mafenetre = new JFrame();
    maFenetre.setLayout(new BorderLayout());
     
    JPanel monPanel = new JPanel();
    monPanel.setLayout(new GridLayout(5,1)); // 5 lignes et 1 colonne.
     
    monPanel.add(new JButton("boutton1"));
    monPanel.add(new JButton("boutton2"));
    monPanel.add(new JButton("boutton3"));
    monPanel.add(new JButton("boutton4"));
    monPanel.add(new JButton("boutton5"));
     
    maFenetre.add(monPanel, BorderLayout.CENTER);
    maFenetre.setVisible(true);
    ps : ta classe evenement extends JFrame.
    Donc dans le constructeur au lieu de créer un objet "f=new JFrame()" tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public evenement(){
    		super();
    		this.setSize(200, 300);
                    this.setLocation(10,20);
    		this.setLayout(new BorderLayout());
    }
    tu remplace ton "f" par "this"
    Il était une fois [...] Et ils vécurent heureux et eurent beaucoup d'enfants!

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 279
    Points
    279
    Par défaut
    Chez moi, le BoxLayout marche, voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    // On instancie un panel pour les labels
    JPanel panel = new JPanel();
     
    // On associe un layout au panel
    panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
     
    // On ajoute les labels au panel
    label1.setAlignmentX(Component.CENTER_ALIGNMENT);
    panel.add(label1);
    label2.setAlignmentX(Component.CENTER_ALIGNMENT);
    panel.add(label2);
    Le code ci-dessus ajoute tes composants selon un axe vertical. A chaque fois que tu ajoutes un composant, il s'ajoute en dessous du précédent dans ta JFrame.

    Par contre, je ne comprend pas pourquoi, associer le BoxLayout au panel comme ceci ne marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // On instancie un panel pour les labels
    JPanel panel = new JPanel(new BoxLayout(panel, BoxLayout.Y_AXIS));
    Voilà !

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 20
    Points : 22
    Points
    22
    Par défaut
    Merci tous le monde pour l'aide
    j'ai utiliser new GridLayout(5,1) et ca marche pépére

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 279
    Points
    279
    Par défaut
    Du moment que ça marche...

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

Discussions similaires

  1. [PHP-JS] créer des espaces entre les mots php
    Par dgac2000 dans le forum Langage
    Réponses: 9
    Dernier message: 10/06/2019, 02h33
  2. Comment reduire l'espacement entre les ligne d'un tableau
    Par airben dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 04/11/2009, 23h07
  3. espacement entre les composants
    Par thierry_b dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 10/07/2009, 12h09
  4. Comment créer un espace entre le texte qui entoure un div et le div ?
    Par Alexandrebox dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 22/03/2009, 07h39
  5. Réponses: 2
    Dernier message: 17/06/2008, 12h14

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