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

Agents de placement/Fenêtres Java Discussion :

Créer une JFrame avec deux panels


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 102
    Points : 82
    Points
    82
    Par défaut Créer une JFrame avec deux panels
    Bonjour à tous ,

    Voila, je voudrais crée une frame et la diviser en deux comme le chemin ci dessous.
    Malheureusement quand j'ajoute le deuxieme panel il me remplace le premier.(Il se positionne dessus)
    J'aimerais que la fenetre aie cette aspect...

    Frame Globale
    ________________________________________________________________
    | Panel Standard |
    |________________________________________________________________|
    | Panel avec ScrollBar |
    |________________________________________________________________|

    Voici mon code correspondant à la création de la fenetre:
    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
    public graphique()
    	{
    		/*** propriétés de base de la fenetre ***/
    		setSize(500,500);
    		setLocationRelativeTo(null);
    		setResizable(false);
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setTitle("Creation des MD5");
     
    		/*** conteneur principal situé en haut ***/
    		Container conteneur = getContentPane();
    		conteneur.setBackground(Color.blue);
    		conteneur.setSize(500, 200);
     
    		/*** panel qui affichera le contenu du dossier sélectionné ***/
    		JScrollPane conteneurD = new JScrollPane();
    		conteneurD.setBackground(Color.lightGray);
    		conteneurD.setSize(500,300);
    		conteneurD.setLocation(0, 200);		
    		conteneur.add(conteneurD);
     
    		setVisible(true);
    	}
    En espérant que vous puissiez m'aider...
    Merci à tous.

  2. #2
    Membre expert
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Points : 3 401
    Points
    3 401
    Par défaut
    Tout d'abord, bienvenue sur le forum

    Je te conseille de lire les règles du forum afin de ne pas être perdu.

    Pour ce qui est de ton problème Java, je te conseille d'utiliser un Layout. Je te conseille également de lire ce tutoriel d'initiation à Swing

    Bon courage.

  3. #3
    Membre averti Avatar de rems033
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    513
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 513
    Points : 345
    Points
    345
    Par défaut
    Dans l'idée faudrait créer un JPanel puis un JScrollPane que tu places en GridLayout North et South.
    Voila...
    Sinon, jettes un coup d'oeil sur les tutos swing et les layout!

  4. #4
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 102
    Points : 82
    Points
    82
    Par défaut
    Merci pour vos réponses, j'ai reussi à mettre deux panels grace au flowlayout, un au nord et un au sud grâce à ce code:
    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
      /*** propriétés de base de la fenetre ***/
            setSize(500,500);
            setLocationRelativeTo(null);
            setResizable(false);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setTitle("Creation des MD5");
            setLayout(new BorderLayout());
     
             /*** panel du haut qui contiendra le choix du dossier ***/
            Color c1 = new Color(190,210,210);
            conteneurH=new JPanel();
            conteneurH.setBackground(c1);
            conteneurH.setPreferredSize(new Dimension(500,200));
            add(conteneurH,"North");
            /*** fin panel du haut ***/
     
            /*** panel du bas qui affichera le contenu du dossier choisi***/
            Color c2 = new Color(180,220,220);
            conteneurB=new JPanel();
            conteneurB.setBackground(c2);
            conteneurB.setPreferredSize(new Dimension(500,300));
            conteneurB.setLayout(null);
            add(conteneurB,"South");
            /*** fin panel du bas ***/
     
            btnScan = new JButton("Scanner le dossier");
            btnScan.addActionListener(this);
            conteneurH.add(btnScan);
     
                 public void actionPerformed(ActionEvent e)
                {
            if(e.getSource()==btnScan)
                 {
                        scan();
                 }
                }
     
         public void scan()
        {        
                JLabel t = new JLabel("dossier");
                t.setSize(100,25);
                t.setLocation(50,50);
                conteneurB.add(t);
        }

    Par contre j'ai un autre souci maintenant quand on clique sur le btnScan celui revoit vers une méthode. Cette méthode doit afficher des objets dans le panl du bas mais il n'y a rien.
    pourtant le code semble bon, si je le place a la suite de btnScan, ca s'affiche.

    Savez vous pourquoi?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2007
    Messages : 156
    Points : 192
    Points
    192
    Par défaut
    Bonjour,

    Etant donné que ton conteneurB est déjà affiché quand tu lui ajoute la JLabel, il faut que tu le rafraichisse pour pouvoir le voir.

    En faisant : conteneurB.repaint();

  6. #6
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 102
    Points : 82
    Points
    82
    Par défaut
    ok c'etait bien ca.
    Je vous remercie tous pour vos réponses.

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

Discussions similaires

  1. Ecrire dans une CEdit avec deux Couleurs Différentes
    Par yoyothebest dans le forum MFC
    Réponses: 1
    Dernier message: 25/03/2006, 19h09
  2. Redimensionner une JFrame avec valeur limite
    Par ppopov dans le forum Agents de placement/Fenêtres
    Réponses: 11
    Dernier message: 15/01/2006, 20h08
  3. Appel d'une procedure avec deux Database...
    Par smasterfr dans le forum Langage SQL
    Réponses: 6
    Dernier message: 28/06/2005, 09h53
  4. comment filtrer une table avec deux criteres càd 2 colonnes
    Par athmane2dz dans le forum Bases de données
    Réponses: 7
    Dernier message: 28/07/2004, 15h25
  5. Faire une JFrame avec LookAndFeel
    Par aburner dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 03/12/2003, 08h54

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