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 :

Problème mise en forme


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 187
    Par défaut Problème mise en forme
    Bonjour,
    j'ai un problème de mise en page avec mon interface graphique.
    Explication: il y a une classe JFrame (écrite manuelle) formée de : 2 JPanel, 2 boutons et deux zones d'affichages.

    J'utilise pour le moment la mise en forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setLayout(new GridLayout(3, 4));
    Et le résultat donné est :


    Alors que le résultat demandé est:


    Pouvez vous me dire comment faire?

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Le gridLayout va tout mettre à taille identique (autant en hauteur qu'en largeur), ce qui ne correspond visiblement pas à ta demande. Je te conseille de regarder du coté du gridbaglayout, qui est un peu plus compliqué, mais plus souple à l'utilisation (ajustement de chaque ligne / colonne en fonction des besoin, notion de "poids" sur chaque coordonnée, possibilité de laisser des espace vide autour des composants.

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 187
    Par défaut
    Je ne m'en sort vraiment pas avec le GridBagLayout, il n'y a pas d'autres façon d'arriver au bon résultat?

    Merci d'avance

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Essaie ça.
    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
     
    package test;
     
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import java.awt.Insets;
     
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;
    import javax.swing.SwingUtilities;
     
    public class Test extends JFrame {
     
    	private JTextArea panel1 = new JTextArea(5, 20);
    	private JTextArea panel2 = new JTextArea(5, 20);
    	private JButton bouton1 = new JButton("Bouton 1");
    	private JButton bouton2 = new JButton("Bouton 2");
    	private JTextField texte1 = new JTextField("Texte 1");
    	private JTextField texte2 = new JTextField("Texte 2");
     
    	public void init() {
    		GridBagLayout l = new GridBagLayout();
    		getContentPane().setLayout(l);
     
    		GridBagConstraints c = new GridBagConstraints(0, 0, 1, 1, 1, 1,
    				GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(
    						10, 10, 10, 10), 0, 0);
    		l.setConstraints(panel1, c);
    		getContentPane().add(panel1);
     
    		c.gridx = 1;
    		l.setConstraints(panel2, c);
    		getContentPane().add(panel2);
     
    		c.gridx = 0;
    		c.gridy = 1;
    		c.anchor = GridBagConstraints.EAST;
    		c.fill = GridBagConstraints.NONE;
    		c.weightx = 0;
    		c.weighty = 0;
    		l.setConstraints(bouton1, c);
    		getContentPane().add(bouton1);
     
    		c.gridx = 1;
    		l.setConstraints(bouton2, c);
    		getContentPane().add(bouton2);
     
    		c.gridx = 0;
    		c.gridy = 2;
    		c.anchor = GridBagConstraints.WEST;
    		l.setConstraints(texte1, c);
    		getContentPane().add(texte1);
     
    		c.gridx = 1;
    		l.setConstraints(texte2, c);
    		getContentPane().add(texte2);
     
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setSize(300, 200);
    	}
     
    	public static void main(String[] args) {
    		SwingUtilities.invokeLater(new Runnable() {
    			public void run() {
    				Test fenetre = new Test();
    				fenetre.init();
    				fenetre.setVisible(true);
    			}
    		});
    	}
    }

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 187
    Par défaut
    Niveau mise en page c'est maintenant parfait, merci beaucoup!
    Seulement, mes boutons bouton1 et bouton 2 ont perdu leurs actions.

    J'ai en toute fin de la méthode init() de ton programme les deux actions, voici une des actions:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    bouton1.addActionListener(new ActionListener() {
     
                public void actionPerformed(ActionEvent e) {
                    String nom = "Antoine";
                    texte1.setText(nom);
     
                }
            });
    Il doit donc afficher Antoine dans texte1 et il ne fait rien...
    Pour info, quand j'utilisais GridLayout celà fonctionnait, d'ou peut venir le problème?

    Merci encore.

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 187
    Par défaut
    Résolu par l'utilisation de JLabel au lieu des JTextField

Discussions similaires

  1. [iText] Problème mise en forme, HTML -> PDF
    Par RamyBoulet dans le forum Documents
    Réponses: 0
    Dernier message: 22/09/2009, 12h54
  2. Probléme mise en forme du texte
    Par Rifton007 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 21/09/2008, 10h02
  3. Problème Mise en forme conditionnelle
    Par GEOPIXEL dans le forum IHM
    Réponses: 1
    Dernier message: 17/04/2008, 15h15
  4. [Mail] problème : mise en forme html d'un mail
    Par minie dans le forum Langage
    Réponses: 2
    Dernier message: 13/06/2007, 15h45
  5. problème mise en forme de balises ul li dans IE 6
    Par gaboo_bl dans le forum Mise en page CSS
    Réponses: 10
    Dernier message: 12/01/2007, 10h38

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