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 :

[débutant] retour à la ligne


Sujet :

AWT/Swing Java

  1. #1
    Membre confirmé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Points : 575
    Points
    575
    Par défaut [débutant] retour à la ligne
    bonjour à tous!!

    j'ai un petit soucis.
    je ne sais pas comment faire pour effectuer un retour à la ligne
    j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    JLabel lab = new JLabel("Crêpes sucrées");   ==>1
    Checkbox sucre = new Checkbox("au sucre");
    .....
    après le ==>1, j'aurais aimé avoir un retour à la ligne

    quelqu'un pourrait il m'aider?

    merci ebaucoup !!

  2. #2
    Membre actif
    Avatar de JMLLB
    Inscrit en
    Septembre 2006
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 285
    Points : 268
    Points
    268
    Par défaut
    J'ai pas compris!

    je suppose q'un "\n" ne fais pas ton affaire...
    Ton JLabel et ton Checkbox sont 2 composants différents, leur positionnement dépend du layout que tu choisis.
    Si tu donnes plus d'éléments je pourrai être plus précis.
    S'il n'y a pas de solutions, il n'y a pas de problème.

  3. #3
    Membre confirmé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Points : 575
    Points
    575
    Par défaut
    voici le code (simple car je débute dans JAVA)
    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
     
    Panel panel = new Panel();
     
    // les composants de la frame
    JLabel lab = new JLabel("Crêpes sucrées");
    Checkbox sucre = new Checkbox("au sucre");
    Checkbox choc = new Checkbox("au chocolat");
    Checkbox confi = new Checkbox("à la confiture");
    Checkbox chocbana = new Checkbox("au chocolat-banane");
    Checkbox miel = new Checkbox ("au miel");
    Checkbox chanti = new Checkbox("à la chantilly");
    Checkbox marron = new Checkbox("à la crême de marron");
     
    // ajout des composants
    panel.add(lab);
    panel.add(sucre);
    panel.add(choc);
    panel.add(confi);
    panel.add(chocbana);
    panel.add(miel);
    panel.add(chanti);
    panel.add(marron);
     
    // Création de la frame et ajout du panneau
    JFrame frame = new JFrame("Crêperie");
    frame.setContentPane(panel);
     
    frame.setSize(600,200);
    frame.setVisible(true);

  4. #4
    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
    Bonsoir,

    Il faudrait que tu te renseignes sur les différents Layouts disponibles et comprendre leur fonctionnement afin d'agencer tes composants comme tu veux.
    Voici un peu de lecture :


    @+


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

  5. #5
    Membre confirmé Avatar de broumbroum
    Profil pro
    Inscrit en
    Août 2006
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 406
    Points : 465
    Points
    465
    Par défaut GridBagLayout
    c'est assez simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    // le panel doit integrer un gribaglayout
    JPanel panel = new JPanel(true);
    panel.setLayout(new GridBagLayout());
    GridBagConstraints c = new GridBagConstraints(); 
    c.gridwidth = GridBagConstraints.REMAINDER; // ça donne un retour à la ligne 
    JLabel lab;
    panel.add(lab = new JLabel("Crêpes sucrées"));
    // pour chaque element de fin de ligne tu ajoutes la contrainte c parametree avec REMAINDER
    ((GridBagLayout)panel.getLayout()).setConstraints(lab, c);
    Checkbox sucre = new Checkbox("au sucre");
    .....
    (à noter que les nouveaux composants JX... de SwingLabs SwingX n'acceptent pas encore de GridBagLayout, par ex. pour remplacer un JPanel avec un JXTaskPane ça ne marchera pas avec ce layout)

  6. #6
    Membre expert
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Points : 3 401
    Points
    3 401
    Par défaut
    Comme dit plus précédemment, utilises un Layout pour agencer tes composants. Mais évite d'utiliser des composants AWT avec des composants Swing, cela ne fait pas bon ménage, ici une petite explication. Donc utilises un JPanel et des JCheckBox. Bonne chance.

  7. #7
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par broumbroum
    (à noter que les nouveaux composants JX... de SwingLabs SwingX n'acceptent pas encore de GridBagLayout, par ex. pour remplacer un JPanel avec un JXTaskPane ça ne marchera pas avec ce layout)

    Ef fait si, seuls le JXTaskPaneContainer (et le JXTitkedPane dans certaines conditions) ne le supportent pour des histoires d'arrangement évidentes. (Le JXTaskPaneContainer pour ses animations déployer replier les JXTaskPane mais le problème existait déjà avec le composant initial le JTaskPane de l2fprod).

    Sinon les JXPanel, JXDialog, JXFrame acceptent parfaitement le GridBag
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  8. #8
    Membre confirmé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Points : 575
    Points
    575
    Par défaut
    merci pour vos réponses je vais regarder tous les liens que vous m'avez donné.

  9. #9
    Membre confirmé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Points : 575
    Points
    575
    Par défaut
    est ce que je peux utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ((GridBagLayout)panel.getLayout()).setConstraints(labell, c);
    plusieurs fois?

    comme j'ai fait :
    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
    panel = new JPanel();
    		GridBagLayout grid = new GridBagLayout();
    		GridBagConstraints c = new GridBagConstraints(); 
    		c.gridwidth = GridBagConstraints.REMAINDER; // ça donne un retour à la ligne 
    		panel.setLayout(grid);
    		
    		label = new JLabel("Crêpes salées");
    		panel.add(label);
    		((GridBagLayout)panel.getLayout()).setConstraints(label, c);
    
    		chek = new Checkbox("jambon-fromage");
    		panel.add(chek);
    		chek.addItemListener(this);
    		chek1 = new Checkbox("jambon-fromage-oeuf");
    		panel.add(chek1);
    		chek2 = new Checkbox("jambon-fromage-champignon");
    		panel.add(chek2);
    		
    		
    		((GridBagLayout)panel.getLayout()).setConstraints(label, c);
    		
    		labell = new JLabel("Crêpes sucrées");
    		panel.add(labell);
    		((GridBagLayout)panel.getLayout()).setConstraints(labell, c);
    		chek = new Checkbox("sucre");
    		panel.add(chek);
    		chek.addItemListener(this);
    		chek1 = new Checkbox("chocolat");
    		panel.add(chek1);
    		chek2 = new Checkbox("chocolat-banane");
    		panel.add(chek2);
    par ce que ce que j'ai fait, ça ne marche pas..

  10. #10
    Membre actif
    Avatar de JMLLB
    Inscrit en
    Septembre 2006
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 285
    Points : 268
    Points
    268
    Par défaut
    est ce que je peux utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((GridBagLayout)panel.getLayout()).setConstraints(labell, c);
    plusieurs fois?
    oui, mais a condition de changer les valeurs des membres entre temps.

    Le plus simple pour manipuler une gridBag c'est de dessiner sur une feuille de papier le résultat que tu souhaites obtenir, puis de quadriller le tout (une cellule pour les petits composants, plusieurs pour les plus gros).
    Après avec les membres gridx, gridy du GridBagConstraints, tu positionnes chaque composant dans ta grille.

    Reprends l'exemple suivant:
    http://java.developpez.com/faq/gui/?...layout_gridbag
    S'il n'y a pas de solutions, il n'y a pas de problème.

  11. #11
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 253
    Points : 446
    Points
    446
    Par défaut
    Comme cela a deja ete dit, il te faut configurer la disposition (layout) de tes composants.

    Le GridBagLayout, bien que un peu ardu lors d'une première approche, te permet de disposer tes composants les uns par rapport aux autres comme tu l'entends.
    Tu peux aussi trouver de nombreux autres LayoutManager avec des didacticiels sur le net.

    Toutefois, je te conseille bien sûr de regarder de près le GridBagLayout (car il est standard Swing) mais, tu peux aussi jetter un oeuil sur le ZoneLayout qui, de mon point de vue, a quasiment la puissance du GridBagLayout mais avec BEAUCOUP plus de souplesse et de facilité.

    Bonne recherche et bonne lecture
    Il est agréable d'avoir le choix. La difficulté est alors de faire le bon (ou le moins pire).

Discussions similaires

  1. [débutant] Gestion retour à la ligne d'une String dans une JSP
    Par caballero dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 26/02/2008, 12h14
  2. débutante c#: retour à la ligne
    Par psycho_xn dans le forum C#
    Réponses: 15
    Dernier message: 31/01/2008, 14h22
  3. [2.0] Débutant sur C#, Retour à la ligne
    Par Sadneth dans le forum C#
    Réponses: 6
    Dernier message: 12/03/2007, 11h38
  4. [MFC] Retour à la ligne dans un CEdit
    Par Kant dans le forum MFC
    Réponses: 7
    Dernier message: 18/02/2004, 08h58
  5. Conserver les retours à la ligne
    Par arwen dans le forum ASP
    Réponses: 2
    Dernier message: 04/12/2003, 12h50

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