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 d'hérédité ?


Sujet :

AWT/Swing Java

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 32
    Points : 22
    Points
    22
    Par défaut problème d'hérédité ?
    voici mon nouveau probleme, j'ai 3 class et j'arrive pas a les mettre ensemble pourtant elles sont le meme paquetage pouvez vous m'aider ??
    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
     
    //Graphique 1
     
    package roulette;
    import roulette.*;
    import javax.swing.*;
    import java.awt.BorderLayout;
    import java.awt.event.*;
    import java.awt.FlowLayout;
    import javax.swing.AbstractAction;
    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.JTextField;
     
    /**
    @author Hubert
    *
    */
     
     
    public class Graphique1  extends JFrame{
      /**
       *Initialisation des composants de la fenetre principale.
       *
       */
     JPanel fenetre1;
     JPanel panneauDemarrer;
     JButton bouton0;
     JButton bouton1;
     JButton bouton2;
     JButton bouton3;
     JButton bouton4;
     JButton bouton5;
     JButton bouton6;
     JLabel label;
     
    public Graphique1(){
        /**
         * Initialisation des boutons
         */
     
     
        bouton0 = new JButton("Jouer");
        bouton1 = new JButton("Ajouter Joueur");
        bouton2 = new JButton("Charger Joueur");
        bouton3 = new JButton("Supprimer Joueur"); 
        bouton4 = new JButton("Règle du jeu");
        bouton5 = new JButton("Quitter");
     
     
        /**
         * Initialisation d'un panneau contenant les boutons
         */
     
        panneauDemarrer = new JPanel();
        panneauDemarrer.setLayout(new FlowLayout());
        /**
         * Insertion des boutons dans le panneau.
         */
     
        panneauDemarrer.add((bouton0),BorderLayout.NORTH);
        panneauDemarrer.add((bouton1),BorderLayout.NORTH);
        panneauDemarrer.add((bouton2),BorderLayout.NORTH);
        panneauDemarrer.add((bouton3),BorderLayout.NORTH);
        panneauDemarrer.add((bouton4),BorderLayout.NORTH);
        panneauDemarrer.add((bouton5),BorderLayout.NORTH);
        /**
         * Initialisation de la taille du panneau.
         */
        panneauDemarrer.setSize(150,700);
        /**
         * Creation d'une fenetre et insertion du panneau dans la fenetre.
         */
     
        JFrame frame = new JFrame("Roulette");
        frame.setContentPane(panneauDemarrer);
     
        /**
         * association des boutons aux evenements de l'écouteur.
         */
     
        bouton1.addActionListener(new actionajouter());    
        bouton5.addActionListener(new bye());
        bouton0.addActionListener(new Jeux());
     
        /**
         * activation de la la fenetre
         * activation du bouton fermer
         */
        frame.pack();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
        }
     
    public static void main(String []args){
        Roulette r = new Roulette();
    }
    }
    /**
     * Activation de l'action lors d'un clique de la souris sur un bouton spécifique
     */
    class actionajouter implements ActionListener{
    public void actionPerformed(ActionEvent ev){
        new Graph3();
     
    }
    }
    class Jeux implements ActionListener{
    public void actionPerformed(ActionEvent ev){
        new InterfaceRoulette();
    }
    }
    class bye implements ActionListener{
        public void actionPerformed(ActionEvent ev){
            r.save(); // ici r cannot be resolved
            System.exit(0);
        }    
    }
    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
     
    //listener du graphique 1
     
    package roulette;
    import java.awt.event.ActionListener;
    import roulette.Roulette;
    import roulette.Graphique1;
    import java.awt.event.ActionEvent;
    import javax.swing.JButton;
    import javax.swing.*;
    /**
     *
     * @author Hubert
     *
     */
    public class Le_listener1 extends AbstractAction{
         Graphique1 parent1;
     
        public Le_listener1(Graphique1 parent1){
            this.parent1=parent1;
        }
        public void actionPerformed(ActionEvent ev){
     
    Object SourceEvenement = ev.getSource();
    /**
     * lorsque l'on l'actionPerformed donne aux boutons les instructions a suivre lors de son 
     * 
     */
        if(SourceEvenement == parent1.bouton0){
            InterfaceRoulette grip = new InterfaceRoulette();
            System.out.println(grip);    
    }
        if (SourceEvenement == parent1.bouton1){
            Graph3 huu = new Graph3();
        }
        if (SourceEvenement == parent1.bouton5){
            r.save();  // ici r cannot be resolved
            System.exit(0);
            }
        }    
    }
    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
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
     //et enfin la roulette r
    package roulette;
    import java.util.*;
    import java.io.Serializable;
    import java.io.FileOutputStream;
    import java.io.FileInputStream;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    /**
     *
     * @author kochg1
     *
     */
    public class Roulette implements Serializable{
        /**
         * 
         */
        private static final long serialVersionUID = 1L;
        /**
         * players : ArrayList pour stocker les joueurs inscrit a la parti en cours
         */
        protected ArrayList<Player> players;
        /**
         * SaveList : ArrayList pour stocker les joueurs a sauvegarder ou les joueurs que l'on charge
         */
        protected ArrayList<Player> saveList;
        /**
         * delList :  ArrayList pour stocker les joueurs que l'on veut supprimer ( credit égal a 0)
         */
        protected ArrayList<Player> delList;
        /**
         * rand : Objet random pour generer la suite de nombre qui representerons les numeros sortis par la roulette
         */
        protected Random rand;
        /**
         * num : Variables pour stocker le numero tiré par la roulette
         */
        protected int num ;
        protected int red[] = {1,3,5,7,9,12,14,16,18,19,21,23,25,27,30,32,34,36};
     
        /**
         * Constructeur de la roulette
         * initialise la suite pour generer le nombre tire par la roulette
         * initialise les differntes ArrayList contenant les joueurs
         *
         */
        public Roulette(){
            rand = new Random();
            players = new ArrayList<Player>();
            delList = new ArrayList<Player>();
     
            try{
                FileInputStream in = new FileInputStream("rouletteSave") ;
                ObjectInputStream s = new ObjectInputStream(in) ;
                saveList = (ArrayList<Player>)s.readObject() ;
                s.close();
            }catch(Exception e){
                saveList = new ArrayList<Player>();
            }
     
     
        }
     
        /**
         * Méthode pour effectuer le tirage
         * genere le prochain nombre tire puis pour chaque joueurs calcul les gains
         * puis supprime les joueurs ayant un credit nul
         */
        public void tirage(){
            if(players.isEmpty()){
                System.out.println("Ajoutez un joueur avant de commencer la partie!");
            }
            else{
                num = rand.goNext();
                System.out.println("Le numero tiré est " +num+" !");
     
                Iterator<Player> it = players.iterator();
                Player p;
     
                while(it.hasNext()){
     
                    p = it.next();
                    p.gain = p.credit;
     
                    if(num!=0){
     
                        //rouge-noir --->case 37/38 dans le tableau des mises
                        for(int j=0; j<18; j++){
                            if(num==red[j] && p.mise[37]!=0)
                                p.credit += p.mise[37]*3;
                            if(num!=red[j] && p.mise[38]!=0)
                                p.credit += p.mise[38]*3;
                        }
     
                        //pair-impair --->cases 39/40
                        if(p.mise[39]!=0 && num%2==0)                    
                                p.credit += p.mise[39]*3;
                        if(p.mise[40]!=0 && num%2==1)
                                p.credit += p.mise[40]*3;
     
     
                        //passe-manque --->cases 41/42
                        if(num<19 && p.mise[41]!=0)
                            p.credit += p.mise[41]*3;
                        if(num>18 && p.mise[42]!=0)
                            p.credit += p.mise[42]*3;
     
                        //numero de 1 a 36 --->cases 1 a 36 dans le tableau
                        for(int j=1; j<37; j++){
                            if(num==j)
                                p.credit += p.mise[j]*37;
                        }
                    }
                    p.gain = p.credit - (p.totalmise+p.gain);
     
                    for(int i=0; i<43; i++){
                        p.mise[i] = 0;
                    }
     
                    p.totalmise = 0;
                    p.fmise = false;
     
                    System.out.println(p.name +" a gagné "+p.gain);
     
                    if(p.credit == 0){
                        delList.add(p);
                    }
     
                }
     
                for(int i=0; i<delList.size(); i++){
                    players.remove(delList.get(i));
                    System.out.println(delList.get(i).name+" a été supprimé de la partie car son crédit est nul!");
                }
                delList.clear();
            }
     
     
        }
        /**
         * Methode pour ajouter un nouveau joueur
         * le joueur sera stocké dans l'ArrayList players
         * il sera donc directement ajouté a la parti en cours
         * @param name
         * @param credit
         */
        public void newPlayer(String name , int credit){
            players.add(new Player(name, credit));
        }
     
        /**
         * Méthode pour ajouter un joueur déja existant a la parti en cours
         * @param p
         */
        public void addPlayer(Player p){
            players.add(p);
            saveList.remove(p);    
        }
        /**
         * Méthode pour enlever un joueur de la parti en cours 
         * le joueur est alors stocké dans l'ArrayList de sauvegarde et enlevé de l'arrayList players
         * @param p
         */
        public void removePlayer(Player p){
            saveList.add(p);
            players.remove(p);
        }
        /**
         * Méthode pour supprimer définitivement un joueur de la parti en cours
         * @param p
         */
        public void delPlayer(Player p){
            players.remove(p);
        }
        /**
         * Méthode de sauvegarde
         * Stocke tous les joueurs de la partie en cours dan l'ArrayList de sauvegarde puis enregistre cette ArrayList
         */
        public void save(){
            Iterator<Player> i = players.iterator();
            Player pl;
     
            while(i.hasNext()){
                pl=i.next();
                saveList.add(pl);
            }
     
     
            try{
                FileOutputStream out = new FileOutputStream("rouletteSave") ;
                ObjectOutputStream s = new ObjectOutputStream(out) ;
                s.writeObject(saveList) ;
                s.flush() ;
                s.close();
            }catch(Exception e){
                System.out.println("Problème d'écriture du fichier " +
                        e.toString());
     
            }
     
        }
    }
    j'ai initilisé ma roulette mais le programme reconnait pas la roulette pourquoi ??

  2. #2
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut


    ps 1 : explique un peu plus aussi, et essai de cibler le code qui pose probleme, je ne serais surement pas le seul a ne pas avoir envi de plonger dans ton code. De plus on ne sait pas ce que c'est sensé faire ...

    ps 2 : on met le nom complet de la personne dans le tag @auteur, ca n'a aucun interet et aucune validité juridique dans le cas contraire.
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  3. #3
    Membre expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Points : 3 083
    Points
    3 083
    Par défaut
    Lire les règles du forum svp...
    Ce code est illisible et il y en a beaucoup trop pour que quelqu'un ait envie de s'y plonger (dixit eclesia).
    Comment ça ? La réponse à ton problème n'est ni dans la faq, ni dans les tutos, ni dans sources ??? Etonnant...
    De la bonne manière de poser une question (et de répondre).
    Je ne fais pas de service par MP. Merci (...de lire les règles...).
    Ma page dvp.com

  4. #4
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    Bon je vais essayé d'être plus claire
    En gros j'aimerai relié mon interface graphique a mes classe
    mon interface graphique est Graphique1 avec des boutons et tous ce qu'il va avec.
    a mon interface graphique s'ajoute des evenments (le listener) qui emet des événement sur certains boutons de mon interface graphique
    a ceci s'ajoute une class Roulette qui permet de sauvegarder, Ajouter , Charger Joueur ; le soucis c'est que j'aimerai utilisé cette roulette dans mon interface graphique c'est a dire récuperer certaine variable et fonction contenu dans ma roulette par exemple la fonction save de la roulette

  5. #5
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    c'est bon j'ai trouver donc oui il y avais bien probleme d'hérédité, si vous avec un problème similaire il faut faire un static protected ... a la variable qui n'est pas visible (ou pas reconnu)

    ensuite lors de l'appelle de la fonction il vous suffit de d'apellé votre variable avec la class dans laquelle vous l'utilisez
    Pour ma part j'ai déclarer dans Graphique1:
    static protected Roulette r;
    dans mon constructeur j'ai appelé la fonction :
    r=new Roulette();
    et enfin losque que je dois l'utiliser dans les auter class je fait un Graphique1.r.save() ; ((par exemple))
    Voila pour l'hérédité salut tout le monde et désolé d'avoir créer un post pour rien !

  6. #6
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    on dit héritage, pas hérédité.
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

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

Discussions similaires

  1. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18
  2. Problème d'impression
    Par IngBen dans le forum C++Builder
    Réponses: 7
    Dernier message: 22/05/2002, 11h37
  3. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10
  4. Réponses: 6
    Dernier message: 25/03/2002, 21h11

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