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

 Java Discussion :

Profondeur des JPanel


Sujet :

Java

  1. #1
    Membre averti
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2007
    Messages
    28
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 28
    Par d�faut Profondeur des JPanel
    Bonjour tout le monde,

    Je suis en train de r�aliser un petit jeu de carte du style FreeCell (pour ceux qui ne connaissent pas : http://fr.wikipedia.org/wiki/FreeCell).

    J'ai donc un premier projet qui g�re mon jeu de cartes (nombre de cartes dans le jeu, classement des cartes par valeur, image de la carte, ...), histoire que ce projet soit le plus g�n�rique possible afin de pouvoir l'utiliser plus tard pour d'autres jeux.

    J'ai donc maintenant mon projet FreeCell qui utilise mon projet Jeu de Carte.
    J'ai une classe JCarte qui h�rite de JLabel et qui me sert � utiliser mes cartes de mani�res graphiques.
    J'ai une classe Plateau, qui me sert � contenir mon jeu de cartes (transform�es pour l'occasion en JCarte) et les diff�rentes piles de cartes (les huit piles contenues dans la partie basse de l'�cran ici : http://upload.wikimedia.org/wikipedi...ence_Konqi.png)

    Et j'ai donc ma fen�tre qui g�re l'initialisation des composants graphiques, dont voici le 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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
    package com.freecell.jeu;
     
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.GridLayout;
     
    import javax.swing.JFrame;
    import javax.swing.JPanel;
     
    public class Fenetre2 extends JFrame
    {
     
        private static final long serialVersionUID = 1L;
        private JPanel panelCartesContainer;
        //    private List<JLayeredPane> layeredPanes;
        private Plateau jeu;
     
        public Fenetre2()
        {
            setSize(new Dimension(1500, 1000));
            setTitle("Test du FreeCell");
            setVisible(true);
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            //        layeredPanes = new ArrayList<JLayeredPane>();
            jeu = new Plateau();
            panelCartesContainer = new JPanel(new GridLayout(1, 8));
            panelCartesContainer.setBackground(new Color(0, 120, 0));
            add(panelCartesContainer);
            //        initialiserLayeredPane();
            afficherLesCartes();
            validate();
        }
     
        //    private void initialiserLayeredPane()
        //    {
        //        for (int i = 0; i < 8; i++)
        //        {
        //            JLayeredPane vLayeredPane = new JLayeredPane();
        //            vLayeredPane.setVisible(true);
        //            vLayeredPane.setBackground(new Color(0, 120, 0));
        //            vLayeredPane.setBounds(0, 0, 1400, 1400);
        //            layeredPanes.add(vLayeredPane);
        //            panelCartesContainer.add(vLayeredPane);
        //        }
        //    }
     
        private void afficherLesCartes()
        {
            int vIndicePosition = 0;
            for (int vColonne = 0; vColonne < jeu.getPiles().length; vColonne++)
            {
                JPanel vPanelVertical = new JPanel(new GridLayout(8, 1));
                vPanelVertical.setBackground(new Color(0, 120, 0));
                for (int i = jeu.getPiles()[vColonne].size() - 1; i >= 0; i--)
                {
                    JCarte vJCarte = jeu.getPiles()[vColonne].get(i);
                    vJCarte.setIndicePile(vColonne);
                    vPanelVertical.add(vJCarte);
                    //                layeredPanes.get(vColonne).add(vJCarte, vIndicePosition++);
                    //                layeredPanes.get(vColonne).setLayer(vJCarte, JLayeredPane.DRAG_LAYER, vIndicePosition++);
                }
                panelCartesContainer.add(vPanelVertical);
            }
        }
    }
    Lorsque j'ouvre ma fen�tre donc, j'ai bien mes huit piles de cartes qui sont affich�es. Par contre, lorsque je d�place une carte, vers la droite ou vers la gauche (elle sort donc de son vPanelVertical), elle passe sous le panel d'� c�t�. Je cherche donc un moyen de faire en sorte que tous mes JPanels aient la m�me profondeur.
    Comme vous pouvez le remarquer, j'ai essay� l'utilisation des JLayeredPane, mais avec plus de d�fauts que de qualit�s...

  2. #2
    Membre averti
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2007
    Messages
    28
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 28
    Par d�faut
    Bon, je dois avouer que je ne trouve pas grand chose. Je pense que je vais essayer, au moment du d�placement de mes JCarte, les supprimer et les ajouter. Ainsi, elles prendront la derni�re place sur ma JFrame. Mais je ne garantis rien ...

Discussions similaires

  1. JTable avec des JPanel dans les cellule
    Par pigpen dans le forum Composants
    R�ponses: 11
    Dernier message: 13/04/2006, 19h58
  2. d�placer des JPanel
    Par hammag dans le forum AWT/Swing
    R�ponses: 4
    Dernier message: 31/03/2006, 16h16
  3. R�ponses: 3
    Dernier message: 06/03/2006, 18h08
  4. indicer des JPanels, est ce possible ?
    Par ceres02 dans le forum AWT/Swing
    R�ponses: 6
    Dernier message: 01/02/2006, 10h15
  5. [JPanel] superposer des JPanel
    Par Galima dans le forum Agents de placement/Fen�tres
    R�ponses: 4
    Dernier message: 10/06/2004, 18h25

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