JAVA. : Problème de saut de ligne pour un JPanel.
Résolu/Fermé
snp3109
Messages postés
77
Date d'inscription
mardi 27 juillet 2010
Statut
Membre
Dernière intervention
10 juillet 2014
-
21 mars 2013 à 17:13
snp3109 Messages postés 77 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 10 juillet 2014 - 23 mars 2013 à 17:38
snp3109 Messages postés 77 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 10 juillet 2014 - 23 mars 2013 à 17:38
A voir également:
- JAVA. : Problème de saut de ligne pour un JPanel.
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Java décompiler - Télécharger - Langages
- Java runtime - Télécharger - Langages
2 réponses
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
22 mars 2013 à 18:18
22 mars 2013 à 18:18
Tu aurais pu mettre ton code entier au moins ! Avec juste une partie comme ça, comment veux-tu que l'on sache d'où vienne l'erreur alors que l'on n'a pas la partie la plus importante : l'ajout de tes panels à ta fenêtre et l'affichage de celle-ci.
De plus, ça veut dire quoi "un saut de ligne entre deux JPanel", un JPanel ce n'est pas du texte, un saut de ligne ça n'a pas de sens !
Si ce que tu veux c'est afficher les deux panels l'un sous l'autre alors pourquoi avoir utilisé un FlowLayout ? C'est l'un des plus mauvais des layout pour faire ça vu qu'il n'affiche les composants que sur une ligne ! Regarde les autres layout (A Visual Guide to Layout Managers), en particulier BoxLayout si tu n'as que tes deux Label à mettre ton panel, ou alors d'autres un peu plus sophistiqué (GridBagLayout, GroupLayout, etc.) sans oublier bien sûr le positionnement absolu (Doing Without a Layout Manager : Absolute Positioning)
De plus, ça veut dire quoi "un saut de ligne entre deux JPanel", un JPanel ce n'est pas du texte, un saut de ligne ça n'a pas de sens !
Si ce que tu veux c'est afficher les deux panels l'un sous l'autre alors pourquoi avoir utilisé un FlowLayout ? C'est l'un des plus mauvais des layout pour faire ça vu qu'il n'affiche les composants que sur une ligne ! Regarde les autres layout (A Visual Guide to Layout Managers), en particulier BoxLayout si tu n'as que tes deux Label à mettre ton panel, ou alors d'autres un peu plus sophistiqué (GridBagLayout, GroupLayout, etc.) sans oublier bien sûr le positionnement absolu (Doing Without a Layout Manager : Absolute Positioning)
snp3109
Messages postés
77
Date d'inscription
mardi 27 juillet 2010
Statut
Membre
Dernière intervention
10 juillet 2014
3
22 mars 2013 à 19:37
22 mars 2013 à 19:37
Bonjour KX merci d'avoir pris le temps de me répondre. Effectivement je me suis peut être mal exprimé. Je voudrai afficher mes label, buttom et checkbox les un en dessous des autres.
J'ai utilisé GridLayout pour obtenir l'affichage que je souhaite mais n'étant pas un professionnel en java j'ai un peu du mal à l'utiliser malgré les différents tuto que j'ai pu trouvé.
Je n'arrive pas à afficher ce que je voudrai. Voici mon code, si quelqu'un aurait une solution.
import javax.swing.*;
import java.awt.*;
import java.text.*;
import java.util.*;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.GridBagLayout;
import java.awt.BorderLayout;
import java.awt.event.*;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import java.awt.event.ActionEvent;
public class fenetre extends JFrame
{
public static void main(String[] args)
{
int compteur = 0;
JFrame f=new JFrame("Outil de création de nouveaux formats de trame");
f.setSize(new Dimension(400,450));
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel pan=new JPanel();
pan.setLayout(new GridLayout(23,2));
GridBagConstraints gbc = new GridBagConstraints();
pan.setBackground(new Color(71,145,203));
JLabel lab=new JLabel("Nouveau SNR");
pan.add(lab);
JLabel lab2=new JLabel("Nom du nouveau format de trame :");
pan.add(lab2);
JTextField text = new JTextField();
pan.add(text);
JLabel lab1=new JLabel("Définition de la trame");
pan.add(lab1);
JLabel lab3=new JLabel("Octet de départ: ");
pan.add(lab3);
JTextField text1 = new JTextField();
pan.add(text1);
JLabel lab4=new JLabel("Dans la ");
pan.add(lab4);
JComboBox cb=new JComboBox();
cb.addItem("voie1");
cb.addItem("voie2");
cb.addItem("voie3");
pan.add(cb);
JLabel lab5=new JLabel("Nombre d'octets: ");
pan.add(lab5);
CheckboxGroup groupe=new CheckboxGroup();
pan.add(new Checkbox("1",groupe,true));
pan.add(new Checkbox("2",groupe,false));
JLabel lab6=new JLabel("Nombre de voies: ");
pan.add(lab6);
JLabel lab61=new JLabel("0");
pan.add(lab61);
JLabel lab7=new JLabel("Ajouter/Supprimer une voie analogique: ");
pan.add(lab7);
JButton a= new JButton("+");
pan.add(a);
JButton b = new JButton("-");
pan.add(b);
JLabel lab8=new JLabel("Ajouter/Supprimer une voie Tout Ou Rien(TOR): ");
pan.add(lab8);
JButton c= new JButton("+");
pan.add(c);
JButton d = new JButton("-");
pan.add(d);
JRadioButtonMenuItem jrmi1 = new JRadioButtonMenuItem("Checksum");
pan.add(jrmi1);
JLabel lab9=new JLabel("Aperçu de la trame");
pan.add(lab9);
JButton e= new JButton("Valider");
pan.add(e);
JButton g= new JButton("Annuler");
pan.add(g);
f.setContentPane(pan);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
J'ai utilisé GridLayout pour obtenir l'affichage que je souhaite mais n'étant pas un professionnel en java j'ai un peu du mal à l'utiliser malgré les différents tuto que j'ai pu trouvé.
Je n'arrive pas à afficher ce que je voudrai. Voici mon code, si quelqu'un aurait une solution.
import javax.swing.*;
import java.awt.*;
import java.text.*;
import java.util.*;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.GridBagLayout;
import java.awt.BorderLayout;
import java.awt.event.*;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import java.awt.event.ActionEvent;
public class fenetre extends JFrame
{
public static void main(String[] args)
{
int compteur = 0;
JFrame f=new JFrame("Outil de création de nouveaux formats de trame");
f.setSize(new Dimension(400,450));
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel pan=new JPanel();
pan.setLayout(new GridLayout(23,2));
GridBagConstraints gbc = new GridBagConstraints();
pan.setBackground(new Color(71,145,203));
JLabel lab=new JLabel("Nouveau SNR");
pan.add(lab);
JLabel lab2=new JLabel("Nom du nouveau format de trame :");
pan.add(lab2);
JTextField text = new JTextField();
pan.add(text);
JLabel lab1=new JLabel("Définition de la trame");
pan.add(lab1);
JLabel lab3=new JLabel("Octet de départ: ");
pan.add(lab3);
JTextField text1 = new JTextField();
pan.add(text1);
JLabel lab4=new JLabel("Dans la ");
pan.add(lab4);
JComboBox cb=new JComboBox();
cb.addItem("voie1");
cb.addItem("voie2");
cb.addItem("voie3");
pan.add(cb);
JLabel lab5=new JLabel("Nombre d'octets: ");
pan.add(lab5);
CheckboxGroup groupe=new CheckboxGroup();
pan.add(new Checkbox("1",groupe,true));
pan.add(new Checkbox("2",groupe,false));
JLabel lab6=new JLabel("Nombre de voies: ");
pan.add(lab6);
JLabel lab61=new JLabel("0");
pan.add(lab61);
JLabel lab7=new JLabel("Ajouter/Supprimer une voie analogique: ");
pan.add(lab7);
JButton a= new JButton("+");
pan.add(a);
JButton b = new JButton("-");
pan.add(b);
JLabel lab8=new JLabel("Ajouter/Supprimer une voie Tout Ou Rien(TOR): ");
pan.add(lab8);
JButton c= new JButton("+");
pan.add(c);
JButton d = new JButton("-");
pan.add(d);
JRadioButtonMenuItem jrmi1 = new JRadioButtonMenuItem("Checksum");
pan.add(jrmi1);
JLabel lab9=new JLabel("Aperçu de la trame");
pan.add(lab9);
JButton e= new JButton("Valider");
pan.add(e);
JButton g= new JButton("Annuler");
pan.add(g);
f.setContentPane(pan);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
22 mars 2013 à 19:46
22 mars 2013 à 19:46
Les GridBagConstraints sont pour les GridBagLayout, à ne pas confondre avec les GridLayout que tu as utilisé. De plus tu n'as pas besoin de faire un extends JFrame...
Quel est le résultat que tu veux obtenir ?
Quel est le résultat que tu veux obtenir ?
snp3109
Messages postés
77
Date d'inscription
mardi 27 juillet 2010
Statut
Membre
Dernière intervention
10 juillet 2014
3
22 mars 2013 à 20:12
22 mars 2013 à 20:12
Voici le résultat que je souhaite
https://www.tumblr.com/privacy/consent?redirect=http%3A%2F%2Fpostscriptumfuck.tumblr.com%2Fpost%2F46006393746%2Fpage-java
Le plus important est de respecter le positionnement des Buttom, Label ...
Merci de ton aide KX.
https://www.tumblr.com/privacy/consent?redirect=http%3A%2F%2Fpostscriptumfuck.tumblr.com%2Fpost%2F46006393746%2Fpage-java
Le plus important est de respecter le positionnement des Buttom, Label ...
Merci de ton aide KX.
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
23 mars 2013 à 17:21
23 mars 2013 à 17:21
Page introuvable La page que vous recherchez n'a pas été trouvée.
snp3109
Messages postés
77
Date d'inscription
mardi 27 juillet 2010
Statut
Membre
Dernière intervention
10 juillet 2014
3
23 mars 2013 à 17:23
23 mars 2013 à 17:23
J'ai trouvé une solution qui me convient parfaitement. Avec setBounds.
cb=new JComboBox();
cb.setBounds(55,172,63,20);
pan.add(cb);
cb=new JComboBox();
cb.setBounds(55,172,63,20);
pan.add(cb);
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
23 mars 2013 à 17:37
23 mars 2013 à 17:37
C'est ce dont je parlais hier sous le terme de "positionnement absolu"
Si tu veux approfondir : Doing Without a Layout Manager : Absolute Positioning
Je marque ta discussion comme résolue alors ;-)
Si tu veux approfondir : Doing Without a Layout Manager : Absolute Positioning
Je marque ta discussion comme résolue alors ;-)