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 :

gestionnaire de mise en forme


Sujet :

AWT/Swing Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 140
    Par défaut gestionnaire de mise en forme
    Bonjour !

    J'ai trouvé ce programme sur le web.

    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
     
     
    1.    import javax.swing.*; import java.awt.*;
    2.    import javax.swing.event.*; import java.awt.event.*;
    3.  
    4.     class Fenetre extends JFrame implements ActionListener
    5.     {
    6.          private JButton bouton1, bouton2, bouton3, bouton4, bouton5;
    7.          private JButton pre, suiv, prem, der;
    8.          private JPanel panneau1, panneau2;
    9.          private CardLayout pile;
    10.         
    11.         public Fenetre(String titre)
    12.         {
    13.              setTitle(titre);
    14.              setSize(300, 400);
    15.              Container c = getContentPane();
    16.              
    17.              panneau1 = new JPanel();
    18.              c.add(panneau1);
    19.    
    20.              panneau2 = new JPanel();
    21.              c.add(panneau2, "North");
    22.               
    23.              pile = new CardLayout(15, 15);
    24.              panneau1.setLayout(pile);
    25.              
    26.              bouton1 = new JButton("BOUTON1");
    27.              panneau1.add(bouton1,"1");
    28.              bouton2 = new JButton("BOUTON2");
    29.              panneau1.add(bouton2, "2");
    30.              bouton3 = new JButton("BOUTON3");
    31.              panneau1.add(bouton3, "3");
    32.              bouton4 = new JButton("BOUTON4");
    33.              panneau1.add(bouton4, "4");
    34.              bouton5 = new JButton("BOUTON5");
    35.              panneau1.add(bouton5, "5");
    36.                            
    37.              pre = new JButton("precedent");
    38.              panneau2.add(pre);
    39.              pre.addActionListener(this);
    40.              
    41.              suiv = new JButton("suivant");
    42.              panneau2.add(suiv);
    43.              suiv.addActionListener(this);
    44.               
    45.              prem = new JButton("premier");
    46.              panneau2.add(prem);
    47.              prem.addActionListener(this);
    48.                
    49.              der = new JButton("dernier");
    42.              panneau2.add(der);
    43.              der.addActionListener(this);
    44.              setDefaultCloseOperation(3);  
    45.        }    
    46.                         
    47.         public void actionPerformed(ActionEvent a)
    48.         {
    49.              JButton source = (JButton) a.getSource();
    50.              
    51.              if(source == pre) pile.previous(panneau1);
    52.              if(source == suiv) pile.next(panneau1);
    53.              if(source == prem) pile.first(panneau1);
    54.              if(source == der) pile.last(panneau1);
    55.         }
    56.    }     
    57.         public class TesterGestionnaire7
    58.         {
    59.             public static void main (String [] args)
    60.             {
    61.                 JFrame f = new Fenetre("Mise en forme");
    62.                 f.setVisible(true);
    63.             }
    64.         }
    Bien sûr, j'ai ajouté les numéros de ligne.

    Ligne 24 : On appliqué au panneau1, le gestionnaire CardLayout. Donc, tous les boutons qui y sont mis seront disposé en pile. Et c'est le cas à l'exécution du programme.

    Lignes 37 à 42 : on a ajouté au panneau2, les boutons pre suiv, prem et der

    A l'exécution, ces boutons sont disposé façon flowLayout. Or, on n'a appliqué
    aucun gestionnaire à ce panneau. DOnc c'est BorderLayout qui doit être utilisé par défaut normalement.

    Pourquoi ces boutons sont-ils disposé autrement ?

    compilez puis exécutez. Vous verrez bien

  2. #2
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Le layout par défaut, appliqué par le constructeur sans arguments du JPanel, et le FlowLayout, comme l'indique le javadoc. As-tu d'autres références qui parleraient d'un BorderLayout ?

Discussions similaires

  1. [CR] mise en forme d'un champs texte en fonction des données
    Par niPrM dans le forum SAP Crystal Reports
    Réponses: 6
    Dernier message: 29/06/2004, 12h57
  2. [CR 9] Mise en forme non affichée when null
    Par Yorglaa dans le forum Formules
    Réponses: 2
    Dernier message: 28/06/2004, 18h27
  3. mise en forme rapide d'applets
    Par appletj dans le forum Applets
    Réponses: 11
    Dernier message: 03/06/2004, 14h28
  4. Mise en forme HTML
    Par Regis.C dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 25/04/2004, 12h55
  5. Mise en forme fichier avant Import
    Par jeff37 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 21/04/2004, 16h16

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