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 :

Disposition des composants


Sujet :

AWT/Swing Java

  1. #1
    Membre averti Avatar de mouss4rs
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    884
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 884
    Points : 355
    Points
    355
    Par défaut Disposition des composants
    Bonjour,

    Je m'adresse à un expert dans la disposition des composants.
    En effet, j'ai du mal à disposer mes composants Swing comme dans l'image en pièce jointe .

    J'ai utilisé des FlowLayouts, ca marche pas.
    J'ai utilisé un GridBagConstraint ca marche pas non plus car les JLabels prennent trop de place dans une ligne.

  2. #2
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Points : 2 323
    Points
    2 323
    Par défaut
    Bonjour,

    Au vue de ton image, je pencherai pour un GridLayout, effectivement avec celui-ci le problème c'est qu'un JLabel ou un JButton dans une case prend toute la taille.

    Pour éviter cela il faut placer le composant dans un JPanel avant et ensuite placer le JPanel dans la grid, le composant aura une taille "normal".
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  3. #3
    Membre averti Avatar de mouss4rs
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    884
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 884
    Points : 355
    Points
    355
    Par défaut
    Tu veux plutôt dire le contraire mettre les composants dans un GridLayout et le mettre dans un JPanel Flowlayout.

    non ?

  4. #4
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Points : 2 323
    Points
    2 323
    Par défaut
    Non c'est bien dans le sens que j'ai dis, quand tu places un JButton dans une gridLayout, le bouton va prendre toute la place de la case ce qui donne un rendu pas très design, pour éviter cela il faut placer le JButton dans une JPanel et ensuite mettre le Panel dans la grid ainsi le bouton aura la taille normal comme s'il n'était pas dans la case d'une grid.

    Pour ton cas mettre une grid sur ta fenêtre et placer les Label Bouton et autres dans des panels, un par ligne comme de ton image ensuite placer ces panels dans la grid tu devrais avoir ton rendu.
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  5. #5
    Membre averti Avatar de mouss4rs
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    884
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 884
    Points : 355
    Points
    355
    Par défaut
    ca prend vraiment trop de place en horizontal.
    (voir photo)

    J'ai mit un grid.

  6. #6
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Points : 2 323
    Points
    2 323
    Par défaut
    Qu'est ce qui te prend trop de place?

    si c'est la taille de ta grid tu peux la placer dans un JPanel avant de la placer dans ta fenêtre pour régler la taille.
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  7. #7
    Membre averti Avatar de mouss4rs
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    884
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 884
    Points : 355
    Points
    355
    Par défaut
    Voici ce que je fais:

    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
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
     
    public Fenetre(){
    		//setSize(710, 350);						// POUR DIMENSIONNER LA FENETRE
    		////////////////////////////////Panel du Haut//////////////////////////////
    		p0 = new JPanel();
    		p0.setLayout(new FlowLayout());
    		p0.setBackground(Color.yellow);
    		labhaut = new JLabel("Contrôle de fichier IAT");
    		p0.add(labhaut); // panel du haut
    		this.add(p0, BorderLayout.NORTH);
     
    		//:::::::::::::::::::::::::LIGNE0::::::::::::::::::::::::::::::::::::
     
    		p1 = new JPanel();
    		p1.setLayout(new GridLayout(2,1));
    		p1.setBackground(Color.red);
    		this.add(p1, BorderLayout.WEST);
     
    		pgridlayout = new JPanel();
    		pgridlayout.setLayout(new FlowLayout());
    		p1.add(pgridlayout);
     
    		p3 = new JPanel();
    		p3.setLayout(new FlowLayout());
    		p3.setBackground(Color.green);
    		p1.add(p3);
     
    		lfichier1 = new JLabel(" Fichier IAT: ");//LABEL fichier 1
    		pgridlayout.add(lfichier1);
    		fichier1 = new JTextField(); //JTextField fichier1 "C:/Donnees/Aide_Manager/extract_24012012.xls"
    		fichier1.setColumns(tailleJTextField);
    		fichier1.setEditable(false);
    		fichier1.setBackground(Color.cyan);
     
    		pgridlayout.add(fichier1);
    		parcourir1 = new JButton("Parcourir", createImageIcon("parcourir.png")); //Bouton Parcourir fichier 1
    		// Ecouteur pour le bouton qui permet de parcourir et trouver le fichier journal des envois
    		parcourir1.addActionListener(this);
    		controle = new JButton("Contrôle", createImageIcon("controler.png"));
    		controle.addActionListener(this);
    		controle.setToolTipText("Appuyer pour controler le fichier IAT");
    		pgridlayout.add(parcourir1);
    		pgridlayout.add(controle);
    		//this.add(pgridlayout, BorderLayout.CENTER);
     
    		// Create a file chooser for the button send
    		fc = new JFileChooser();
    		//fc.addPropertyChangeListener(this);
    		// Creation d'un JPopupMenu	
    		labelPopupMenu = new JPopupMenu();		
    		labelPopupMenu.add(new JMenuItem("Contrôler",createImageIcon("page_go.png")));		
     
    		//:::::::::::::::::::::::::LIGNE1:::::::::::::::::::::::::::::
    //		p2 = new JPanel();
    //		p2.setLayout(new FlowLayout(FlowLayout.CENTER));
    //		p2.setBackground(Color.blue);
    //		
    //		this.add(p2, BorderLayout.LINE_START);
     
     
    		//:::::::::::::::::::::::::LIGNE2:::::::::::::::::::::::::::::
     
     
     
    		labErreur = new JLabel("Erreurs trouvées: ");
    		p3.add(labErreur);
     
    		//JTable
    		tm = new DefaultTableModel();
    		tm.addColumn("Ligne");
    		tm.addColumn("N°portable faux");
    		tm.addColumn("Email faux");
    		tm.addColumn("Message d'erreur");
    		tm.addColumn("Agent");
    		tm.addColumn("ID_BP_SYMPH");
    		table = new JTable(tm);
    		Dimension size = new Dimension(450, 160);
    		table.setPreferredScrollableViewportSize(size);
    		scrollpane = new JScrollPane(table);
    		// et ajuster la longueur des colonnes
    		DefaultTableCellRenderer custom = new DefaultTableCellRenderer(); 
    		custom.setHorizontalAlignment(JLabel.CENTER); 
    		table.getColumnModel().getColumn(0).setCellRenderer(custom); 
    		table.getColumnModel().getColumn(0).setMaxWidth(50);//ligne
    		table.getColumnModel().getColumn(1).setMinWidth(70);//portable
    		table.getColumnModel().getColumn(2).setMinWidth(170);//email
    		table.getColumnModel().getColumn(3).setMinWidth(190);//Msg erreur
    		table.getColumnModel().getColumn(4).setMinWidth(110);//Agent
    		table.getColumnModel().getColumn(5).setMinWidth(70);//id_BP_symph
    		//active le tri du tableau
    		table.setAutoCreateRowSorter(true);
    		SortKey[] sks = new SortKey[]{ new RowSorter.SortKey(0, SortOrder.ASCENDING) };
    		//tri defaut tab sur 1ère colonne ds l'ordre croissant 
    		table.getRowSorter().setSortKeys(Arrays.asList(sks));
    		p3.add(scrollpane);
     
    		//:::::::::::::::::::::::::LIGNE3:::::::::::::::::::::::::::::
    		//Pour Afficher les Résultats des taux Téléphones et emails
    		labcalcul1 = new JLabel("Taux qualifié global Téléphone: ");
    		p3.add(labcalcul1);
     
    		//:::::::::::::::::::::::::LIGNE4:::::::::::::::::::::::::::::
    		labcalcul2 = new JLabel("Taux d'anomalie/Téléphone qualifié: ");
    		p3.add(labcalcul2);
     
    		//:::::::::::::::::::::::::LIGNE5:::::::::::::::::::::::::::::
    		labcalcul3 = new JLabel("Taux qualifié global Email: ");
    		p3.add(labcalcul3);
     
    		//:::::::::::::::::::::::::LIGNE6:::::::::::::::::::::::::::::
    		labcalcul4 = new JLabel("Taux d'anomalie/Email qualifié: ");
    		p3.add(labcalcul4);
    		this.pack();
     
     
     
    ...
     
    }
    Résultat: (voir photo)

    Comme on peut le voir les labels se tiennent sur une seule ligne avec le JTable.

    Moi j'aimerais avoir:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    JLabel1 (centré en haut)
    JLabel2: JTextField1 JButton1 JButton2
    JLabel3:
    JTable
    JLabel4
    JLabel5
    JLabel6
    et qu'il ne soit pas énorme comme on peut le voir

  8. #8
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Points : 2 323
    Points
    2 323
    Par défaut
    Plus un truc comme sa
    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
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
     
    package test;
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.FlowLayout;
    import java.awt.Font;
    import java.awt.Graphics;
    import java.awt.GridLayout;
    import java.awt.Image;
    import java.awt.event.ActionListener;
    import java.io.File;
    import java.io.IOException;
     
    import javax.imageio.ImageIO;
    import javax.naming.ldap.SortKey;
    import javax.swing.BoxLayout;
    import javax.swing.Icon;
    import javax.swing.JButton;
    import javax.swing.JCheckBox;
    import javax.swing.JFileChooser;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JMenuItem;
    import javax.swing.JPanel;
    import javax.swing.JPopupMenu;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.JTextField;
    import javax.swing.RowSorter;
    import javax.swing.table.DefaultTableCellRenderer;
    import javax.swing.table.DefaultTableModel;
     
    public class IHM extends JFrame {
     
    	/**
             * 
             */
    	private static final long serialVersionUID = 1L;
     
     
    	public IHM(){
    							// POUR DIMENSIONNER LA FENETRE
    			////////////////////////////////ENTETE//////////////////////////////
    			JPanel entete = new JPanel();
    			entete.setLayout(new FlowLayout());
    			entete.setBackground(Color.yellow);
    			JLabel labhaut = new JLabel("Contrôle de fichier IAT");
    			entete.add(labhaut); // panel du haut
     
     
     
    			// mise en place de la grid 
    			JPanel LaGridCentrale = new JPanel();
    			LaGridCentrale.setLayout(new GridLayout(3,1));
    			LaGridCentrale.setBackground(Color.red);
     
    			//:::::::::::::::::::::::::LIGNE 1::::::::::::::::::::::::::::::::::::
     
    			JPanel ligne1 = new JPanel();
    			ligne1.setBackground(Color.LIGHT_GRAY);
    			//label info
    			JLabel lfichier1 = new JLabel(" Fichier IAT: ");//LABEL fichier 1
     
    			//Jtext
    			JTextField fichier1 = new JTextField();
    			fichier1.setPreferredSize(new Dimension(200,30));
    			fichier1.setColumns(10);
    			fichier1.setEditable(false);
    			fichier1.setBackground(Color.cyan);
     
    			//Jbutton 1
     
    			JButton parcourir1 = new JButton("Parcourir", createImage("parcourir.png")); //Bouton Parcourir fichier 1
    			// Ecouteur pour le bouton qui permet de parcourir et trouver le fichier journal des envois
    			//parcourir1.addActionListener(this);
     
    			//JButton 2
     
    			JButton controle = new JButton("Contrôle", createImage("controler.png"));
    			//controle.addActionListener((ActionListener) this);
    			controle.setToolTipText("Appuyer pour controler le fichier IAT");
     
    			// Create a file chooser for the button send
    			JFileChooser fc = new JFileChooser();
    			//fc.addPropertyChangeListener(this);
    			// Creation d'un JPopupMenu	
    			JPopupMenu labelPopupMenu = new JPopupMenu();		
    			labelPopupMenu.add(new JMenuItem("Contrôler",createImage("page_go.png")));		
     
    			// ajout dans le panel ligne1
    			ligne1.add(lfichier1);
    			ligne1.add(fichier1);
    			ligne1.add(parcourir1);
    			ligne1.add(controle);
     
    			//:::::::::::::::::::::::::LIGNE2:::::::::::::::::::::::::::::
     
    			JPanel ligne2 = new JPanel();
    			ligne2.setLayout(new GridLayout(2,1));
    			ligne2.setBackground(Color.green);
     
    			JLabel labErreur = new JLabel("Erreurs trouvées: ");
    			ligne2.add(labErreur);
     
    			//JTable
    			DefaultTableModel tm = new DefaultTableModel();
    			tm.addColumn("Ligne");
    			tm.addColumn("N°portable faux");
    			tm.addColumn("Email faux");
    			tm.addColumn("Message d'erreur");
    			tm.addColumn("Agent");
    			tm.addColumn("ID_BP_SYMPH");
    			JTable table = new JTable(tm);
     
    			JScrollPane scrollpane = new JScrollPane(table);
    			// et ajuster la longueur des colonnes
    			DefaultTableCellRenderer custom = new DefaultTableCellRenderer(); 
    			custom.setHorizontalAlignment(JLabel.CENTER); 
    			table.getColumnModel().getColumn(0).setCellRenderer(custom); 
    			table.getColumnModel().getColumn(0).setMaxWidth(50);//ligne
    			table.getColumnModel().getColumn(1).setMinWidth(70);//portable
    			table.getColumnModel().getColumn(2).setMinWidth(170);//email
    			table.getColumnModel().getColumn(3).setMinWidth(190);//Msg erreur
    			table.getColumnModel().getColumn(4).setMinWidth(110);//Agent
    			table.getColumnModel().getColumn(5).setMinWidth(70);//id_BP_symph
    			//active le tri du tableau
    			table.setAutoCreateRowSorter(true);
    			//SortKey[] sks = new SortKey[]{ new RowSorter.SortKey(0, SortOrder.ASCENDING) };
    			//tri defaut tab sur 1ère colonne ds l'ordre croissant 
    			//table.getRowSorter().setSortKeys(Arrays.asList(sks));
    			ligne2.add(scrollpane);
     
     
    			//:::::::::::::::::::::::::LIGNE3:::::::::::::::::::::::::::::
     
    			JPanel ligne3 = new JPanel();
    			ligne3.setLayout(new GridLayout(4,1));
    			ligne3.setBackground(Color.cyan);
    			//Pour Afficher les Résultats des taux Téléphones et emails
    			JLabel labcalcul1 = new JLabel("Taux qualifié global Téléphone: ");
    			ligne3.add(labcalcul1);
    			//:::::::::::::::::::::::::LIGNE4:::::::::::::::::::::::::::::
    			JLabel labcalcul2 = new JLabel("Taux d'anomalie/Téléphone qualifié: ");
    			ligne3.add(labcalcul2);
    			//:::::::::::::::::::::::::LIGNE5:::::::::::::::::::::::::::::
    			JLabel labcalcul3 = new JLabel("Taux qualifié global Email: ");
    			ligne3.add(labcalcul3);
    			//:::::::::::::::::::::::::LIGNE6:::::::::::::::::::::::::::::
    			JLabel labcalcul4 = new JLabel("Taux d'anomalie/Email qualifié: ");
    			ligne3.add(labcalcul4);
     
     
    			LaGridCentrale.add(ligne1);
    			LaGridCentrale.add(ligne2);			
    			LaGridCentrale.add(ligne3);
     
    			// ajout dans la fenêtre
    			this.add(entete, BorderLayout.NORTH);
    			this.add(LaGridCentrale, BorderLayout.CENTER);
    			this.setSize(900,500);
    	//On quitte l'application quand la fenêtre est fermée
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
     
     
    	}
     
     
    	private Icon createImage(String string) {
    		// TODO Auto-generated method stub
    		return null;
    	}
     
     
    }
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  9. #9
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Points : 2 323
    Points
    2 323
    Par défaut
    En un peu plus ergonomique

    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
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
     
    package test;
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.FlowLayout;
    import java.awt.Font;
    import java.awt.Graphics;
    import java.awt.GridLayout;
    import java.awt.Image;
    import java.awt.event.ActionListener;
    import java.io.File;
    import java.io.IOException;
     
    import javax.imageio.ImageIO;
    import javax.naming.ldap.SortKey;
    import javax.swing.BoxLayout;
    import javax.swing.Icon;
    import javax.swing.JButton;
    import javax.swing.JCheckBox;
    import javax.swing.JFileChooser;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JMenuItem;
    import javax.swing.JPanel;
    import javax.swing.JPopupMenu;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.JTextField;
    import javax.swing.RowSorter;
    import javax.swing.table.DefaultTableCellRenderer;
    import javax.swing.table.DefaultTableModel;
     
    public class IHM extends JFrame {
     
    	/**
             * 
             */
    	private static final long serialVersionUID = 1L;
     
     
    	public IHM(){
     
    			////////////////////////////////ENTETE//////////////////////////////
     
    			JPanel entete = new JPanel();
    			entete.setLayout(new GridLayout(3,1));
    			entete.setBackground(Color.LIGHT_GRAY);
     
    			JPanel titre = new JPanel();
    			JLabel labhaut = new JLabel("Contrôle de fichier IAT");	
    			titre.setBackground(Color.YELLOW);
    			titre.add(labhaut);					
     
    			JPanel ligne1 = new JPanel();	
    			ligne1.setBackground(Color.LIGHT_GRAY);
    			//label info
    			JLabel lfichier1 = new JLabel(" Fichier IAT: ");//LABEL fichier 1
     
    			//Jtext
    			JTextField fichier1 = new JTextField();
    			fichier1.setPreferredSize(new Dimension(200,30));
    			fichier1.setColumns(10);
    			fichier1.setEditable(false);
    			fichier1.setBackground(Color.cyan);
     
    			//Jbutton 1
     
    			JButton parcourir1 = new JButton("Parcourir", createImage("parcourir.png")); //Bouton Parcourir fichier 1
    			// Ecouteur pour le bouton qui permet de parcourir et trouver le fichier journal des envois
    			//parcourir1.addActionListener(this);
     
    			//JButton 2
     
    			JButton controle = new JButton("Contrôle", createImage("controler.png"));
    			//controle.addActionListener((ActionListener) this);
    			controle.setToolTipText("Appuyer pour controler le fichier IAT");
     
    			// Create a file chooser for the button send
    			JFileChooser fc = new JFileChooser();
    			//fc.addPropertyChangeListener(this);
    			// Creation d'un JPopupMenu	
    			JPopupMenu labelPopupMenu = new JPopupMenu();		
    			labelPopupMenu.add(new JMenuItem("Contrôler",createImage("page_go.png")));		
     
    			// ajout dans le panel ligne1
    			ligne1.add(lfichier1);
    			ligne1.add(fichier1);
    			ligne1.add(parcourir1);
    			ligne1.add(controle);
     
    			JLabel labErreur = new JLabel("Erreurs trouvées: ");
     
    			entete.add(titre); 
    			entete.add(ligne1);
    			entete.add(labErreur);
     
    			//::::::::::::::::::::::::: Panneau centrale :::::::::::::::::::::::::::::
     
    			// mise en place de la grid 
    			JPanel LaGridCentrale = new JPanel();
    			LaGridCentrale.setLayout(new GridLayout(2,1));
    			LaGridCentrale.setBackground(Color.red);
     
    			//:::::::::::::::::::::::::LIGNE 1:::::::::::::::::::::::::::::
    			//JTable
    			DefaultTableModel tm = new DefaultTableModel();
    			tm.addColumn("Ligne");
    			tm.addColumn("N°portable faux");
    			tm.addColumn("Email faux");
    			tm.addColumn("Message d'erreur");
    			tm.addColumn("Agent");
    			tm.addColumn("ID_BP_SYMPH");
    			JTable table = new JTable(tm);
     
    			JScrollPane scrollpane = new JScrollPane(table);
    			// et ajuster la longueur des colonnes
    			DefaultTableCellRenderer custom = new DefaultTableCellRenderer(); 
    			custom.setHorizontalAlignment(JLabel.CENTER); 
    			table.getColumnModel().getColumn(0).setCellRenderer(custom); 
    			table.getColumnModel().getColumn(0).setMaxWidth(50);//ligne
    			table.getColumnModel().getColumn(1).setMinWidth(70);//portable
    			table.getColumnModel().getColumn(2).setMinWidth(170);//email
    			table.getColumnModel().getColumn(3).setMinWidth(190);//Msg erreur
    			table.getColumnModel().getColumn(4).setMinWidth(110);//Agent
    			table.getColumnModel().getColumn(5).setMinWidth(70);//id_BP_symph
     
    			//:::::::::::::::::::::::::LIGNE2:::::::::::::::::::::::::::::
     
    			JPanel ligne2 = new JPanel();
    			ligne2.setLayout(new GridLayout(4,1));
    			ligne2.setBackground(Color.cyan);
    			//Pour Afficher les Résultats des taux Téléphones et emails
    			JLabel labcalcul1 = new JLabel("Taux qualifié global Téléphone: ");
    			ligne2.add(labcalcul1);
    			//:::::::::::::::::::::::::LIGNE4:::::::::::::::::::::::::::::
    			JLabel labcalcul2 = new JLabel("Taux d'anomalie/Téléphone qualifié: ");
    			ligne2.add(labcalcul2);
    			//:::::::::::::::::::::::::LIGNE5:::::::::::::::::::::::::::::
    			JLabel labcalcul3 = new JLabel("Taux qualifié global Email: ");
    			ligne2.add(labcalcul3);
    			//:::::::::::::::::::::::::LIGNE6:::::::::::::::::::::::::::::
    			JLabel labcalcul4 = new JLabel("Taux d'anomalie/Email qualifié: ");
    			ligne2.add(labcalcul4);
     
     
    			//LaGridCentrale.add(ligne1);
    			LaGridCentrale.add(scrollpane);			
    			LaGridCentrale.add(ligne2);
     
    			// ajout dans la fenêtre
    			this.add(entete, BorderLayout.NORTH);
    			this.add(LaGridCentrale, BorderLayout.CENTER);
     
    			this.setSize(900,500);
    			//On quitte l'application quand la fenêtre est fermée
    			this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
     
    	}
     
     
    	private Icon createImage(String string) {
    		// TODO Auto-generated method stub
    		return null;
    	}
     
     
    }
    le main quand même qui va avec ^^

    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
     
    package test;
     
    public class main {
     
    	/**
             * @param args
             */
    	public static void main(String[] args) {
    		IHM IHMs = new IHM();
    		IHMs.setVisible(true);
     
    	}
     
    }
    Edit : petite remarque, je ne sais pas si c'est un test mais pour tes noms de variables il faut éviter les p0 p1, pour s'y retrouver c'est un peu galère, j'ai renommé un peu rapide mais en simple conseil, en voyant le nom de la variable on doit pouvoir voir ce que sa représente.
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  10. #10
    Membre averti Avatar de mouss4rs
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    884
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 884
    Points : 355
    Points
    355
    Par défaut
    Ah vraiment merci merci .

    Oui désormais faut que j'évite les p0 et p1 ca rend

    Merci pour le post sur l'ergonomie car le JTable était trop petit.
    Encore Merci

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

Discussions similaires

  1. disposition des composants dans un h:panelGrid
    Par anisj1m dans le forum JSF
    Réponses: 13
    Dernier message: 23/06/2009, 10h46
  2. disposition des composants
    Par pouss dans le forum Ext JS / Sencha
    Réponses: 2
    Dernier message: 04/12/2008, 18h02
  3. [JFrame] Problème de disposition des composants
    Par alizee971 dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 25/08/2008, 14h47
  4. Disposition et affichage des composants?
    Par dj_techno dans le forum Delphi
    Réponses: 4
    Dernier message: 31/05/2007, 08h47
  5. Réponses: 1
    Dernier message: 02/01/2003, 12h45

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