JAVA. : Problème de saut de ligne pour un JPanel.
Résolu
snp3109
Messages postés
77
Date d'inscription
Statut
Membre
Dernière intervention
-
snp3109 Messages postés 77 Date d'inscription Statut Membre Dernière intervention -
snp3109 Messages postés 77 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je voudrai effectuer un saut de ligne entre deux JPanel.
J'ai esseyé de nombreuse solutions mais aucune n'a fonctionné. (System.out.println("" ), \n , ... ).
Si quelqu'un aurait une solution cela m'avancerai énormément.
Merci beaucoup.
Bonne Journée.
snp3109
Mon code :
public class fenetre extends JFrame
{
public static void main(String[] args)
{
JFrame f=new JFrame("Outil de test");
f.setSize(new Dimension(400,450));
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel pan=new JPanel();
FlowLayout bl=new FlowLayout(FlowLayout.CENTER);
pan.setLayout(bl);
pan.setBackground(new Color(71,145,203));
JLabel lab=new JLabel("Nouveau SNR");
pan.add(lab);
JLabel lab1=new JLabel("Définition de la trame");
pan.add(lab1);
Je voudrai effectuer un saut de ligne entre deux JPanel.
J'ai esseyé de nombreuse solutions mais aucune n'a fonctionné. (System.out.println("" ), \n , ... ).
Si quelqu'un aurait une solution cela m'avancerai énormément.
Merci beaucoup.
Bonne Journée.
snp3109
Mon code :
public class fenetre extends JFrame
{
public static void main(String[] args)
{
JFrame f=new JFrame("Outil de test");
f.setSize(new Dimension(400,450));
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel pan=new JPanel();
FlowLayout bl=new FlowLayout(FlowLayout.CENTER);
pan.setLayout(bl);
pan.setBackground(new Color(71,145,203));
JLabel lab=new JLabel("Nouveau SNR");
pan.add(lab);
JLabel lab1=new JLabel("Définition de la trame");
pan.add(lab1);
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 - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
2 réponses
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)
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);
}
}
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.
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 ;-)