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 :

[debutante] Aide pour l'interface graphique de mon mastermind


Sujet :

AWT/Swing Java

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 41
    Points : 17
    Points
    17
    Par défaut [debutante] Aide pour l'interface graphique de mon mastermind
    bonjour,

    Mon chef m'a demandé de realiser un mastermind en interface graphique, mais la je ne m'en sort pas trop.

    En fait je ne sais pas comment faire pour :

    J'ai creer des rond de couleur et je veux cliquer dessus pour generer un evenement mais la je bloque je sais que j'ai besoins de mouseClicked mais apres c'est le vide, je regarde pas mal de cours sur le net la dessus mais je ne comprend pas du tout.

    Pourriez vous me diriger dans la bonne direction svp

    merci

  2. #2
    Membre confirmé Avatar de broumbroum
    Profil pro
    Inscrit en
    Août 2006
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 406
    Points : 465
    Points
    465
    Par défaut MasterMind : template java 2 rapide
    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
    class MasterMind {
     
    class Jeton extends JComponent {
             public Jeton() {
                 super();
                 addMouseListener(new MouseListener() {
               /*Invoked when the mouse button has been clicked (pressed and released) on a component. */
                        void mouseClicked(MouseEvent e) {}
     
              /*Invoked when the mouse enters a component. */
                        void mouseEntered(MouseEvent e) {}
     
              /* Invoked when the mouse exits a component. */
                        void mouseExited(MouseEvent e) {}
               /*Invoked when a mouse button has been pressed on a component.*/ 
                        void mousePressed(MouseEvent e) {}
              /*   Invoked when a mouse button has been released on a component.*/ 
                        void mouseReleased(MouseEvent e) {}
      });
             }
             public void paintComponent(Graphics g) {
                // dessine le bouton sur le composant graphique Swing
              }
    } 
     
    public static void main(String[] args) {
          JFrame masterm = new JFrame("MasterMind");
          Container plateau = masterm.getContentPane();
          plateau.setLayout(new GridBagLayout());
          for(int i = 0; i < 60; i++) {
               // chaque jeton est inseré           
               Jeton jeton; GridBagConstraints c = new GridBagConstraints();
               plateau.add(jeton = new Jeton());
              // nouvelle ligne
              c.gridwidth = GridBagConstraints.REMAINDER;
               if((i % 5) == 4) 
                     ((GridBagLayout)plateau.getLayout()).setConstraints((Component)jeton, c); 
          }
          masterm.setVisible(true); masterm.pack(); masterm.setLocationRelativeTo(null);
    }
     
    }

  3. #3
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    Tu as 2 approches possibles :

    Soit les jetons sont des JComponent (ou JPanel ou JLabel) dont tu redéfinis la méthode paintComponent() pour afficher des ronds de couleur. Dans ce cas, le plateau global est un JPanel, et tu utilises un Layout (comme le GridBagLayout) pour placer les jetons ou tu veux dans le plateau. Dans ce cas, tu places un MouseListener sur tous les jetons. Quand tu cliques sur un jeton, son MouseListener en est informé. Tu peux très bien utiliser un seul MouseListener pour plusieurs jetons.

    Soit tu n'as qu'un seul JComponent qui représente ton plateau global, et tu dessines tout dans sa méthode paintComponent. Dans ce cas, il faut calculer toi-même la taille et la position des jetons pour les dessiner. Tu utilises un MouseListener sur le plateau global, et tu devras déduire en fonction des coordonnées du clic sur quel jeton l'utilisateur a cliqué. Je te déconseille un peu cette approche, qui est plus adaptée pour des jeux en temps réel (pas au tour à tour).

    Au final, c'est un peu le commentaire du code qu'a posté broumbroum.

Discussions similaires

  1. Aide pour l'interface graphique avec shiny
    Par samiz dans le forum R
    Réponses: 1
    Dernier message: 21/05/2014, 14h00
  2. Qu'utilisez-vous pour vos interfaces graphiques ?
    Par spilliaert dans le forum Interfaces Graphiques en Java
    Réponses: 21
    Dernier message: 04/03/2012, 16h11
  3. Renseignement pour un interface graphique et langage
    Par Marsiou dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 24/01/2006, 19h01
  4. Composants à utiliser pour une interface graphique Java
    Par nicolas.pied dans le forum Composants
    Réponses: 4
    Dernier message: 28/11/2005, 20h27

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