Partage
  • Partager sur Facebook
  • Partager sur Twitter

Interface Graphique Help !

Sujet résolu
    9 octobre 2011 à 11:20:00

    Bonjour,

    Voila j'ai fait le jeu <image>Image utilisateur</image> (c'est pour pas qu'il soit référencer sur google) mais j'aimerais maintenant m'attaquer à l'interface graphique.

    J'ai programmer une partie avec deux utilisateurs et un autre contre l'ordinateur, il me manque plus que l'interface graphique.

    J'ai fait cependant ceci :
    import java.awt.BorderLayout;
    import java.awt.Dimension;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JButton;
    import javax.swing.JLabel;
    import javax.swing.JTextField;
    
    public class PanelJeu extends JFrame implements ActionListener
    {
        private JPanel pan = new JPanel();
        private JLabel label = new JLabel("Bienvenue");
        
        //Initialisation du plateau
        private int nombreDeDifficulte = 0;
        
        //Menu Accueil
        private JButton modeOrdinateur = new JButton("Mode contre l'ordinateur");
        private JButton modeMultijoueur = new JButton ("Mode multijoueur");
        
        //Menu Choix difficulté
        private JButton difficulte1 = new JButton("1");
        private JButton difficulte2 = new JButton("2");
        private JButton difficulte3 = new JButton("3");
        
        //Noms des joueurs
        private JTextField champDeTexte = new JTextField("");
        private JButton Valider = new JButton("Ok");
        
        //Le plateau du jeu
        private Plateau plateau;
        
        public PanelJeu()
        {
    	this.setTitle("Menu");
    	this.setSize(400,500);
    	this.setLocationRelativeTo(null);
    	this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
    	this.label.setHorizontalAlignment(JLabel.CENTER);
    	
    	modeMultijoueur.addActionListener(this);
    	modeOrdinateur.addActionListener(this);
    	
    	this.pan.add(label,BorderLayout.NORTH);
    	this.pan.add(modeMultijoueur);
    	this.pan.add(modeOrdinateur);
    	
    	this.setContentPane(pan);
    	this.setVisible(true);
        }
        
        public void actionPerformed(ActionEvent arg0)
        {
    	if(arg0.getSource() == modeOrdinateur)
    	{
    	    this.pan.remove(modeMultijoueur);
    	    this.pan.remove(modeOrdinateur);
    	    this.pan.repaint();
    	    
    	    difficulte1.addActionListener(this);
    	    difficulte2.addActionListener(this);
    	    difficulte3.addActionListener(this);
    	    
    	    this.label.setText("Entrez maintenant le niveau de difficulté");
    	    this.pan.add(difficulte1);
    	    this.pan.add(difficulte2);
    	    this.pan.add(difficulte3);
    	}
    	else if(arg0.getSource() == modeMultijoueur)
    	{
    	    this.pan.remove(modeMultijoueur);
    	    this.pan.remove(modeOrdinateur);
    	    this.pan.repaint();
    	    champDeTexte.setPreferredSize(new Dimension(150,30));
    	    
    	    this.label.setText("Selectionnez le nom du premier joueur :");
    	    this.pan.add(champDeTexte);
    	    this.pan.add(Valider);
    	}
    	
    	else if(arg0.getSource() == difficulte1)
    	{
    	    this.pan.removeAll();
    	    this.pan.add(label);
    	    this.pan.repaint();
    	    this.label.setText("difficulte1");
    	    this.nombreDeDifficulte = 10;
    	}
    	else if(arg0.getSource() == difficulte2)
    	{
    	    this.pan.removeAll();
    	    this.pan.add(label);
    	    this.pan.repaint();
    	    this.label.setText("difficulte2");
    	    this.nombreDeDifficulte = 50;
    	}
    	else if(arg0.getSource() == difficulte3)
    	{
    	    this.pan.removeAll();
    	    this.pan.add(label);
    	    this.pan.repaint();
    	    this.label.setText("difficulte3");
    	    this.nombreDeDifficulte = 100;
    	}
        }  
    }
    


    Mais après je n'arrive pas à envoyer les donnée pour créer mon jeu.
    J'aimerais aussi une meilleur présentation les boutons en dessous des autres.
    je ne sais pas comment faire. Pouvez vous m'aider ?

    Merci par avance ;-)
    • Partager sur Facebook
    • Partager sur Twitter
      9 octobre 2011 à 11:53:41

      Utilise les Layout pour positionner tes boutons
      • Partager sur Facebook
      • Partager sur Twitter
        9 octobre 2011 à 12:01:18

        D'accord merco aurais tu une réponse pour mon autre problème ?
        • Partager sur Facebook
        • Partager sur Twitter
          9 octobre 2011 à 12:09:16

          en faite ton deuxième problème c'est qu'il ne rentre pas dans ton if?
          • Partager sur Facebook
          • Partager sur Twitter
            9 octobre 2011 à 13:17:28

            Non c'est que je n'arrive pas a la faire intéragir avec mon programme. Par exemple j'ai le choix de difficulté mais après je voudrais faire appel à la class : plateau qui s'initialise avec la valeur cliquer sur le bouton.

            Pour être plus précis plus précis. J'ai le bouton difficulté 4 et je voudrais qu'a la suite j'envois 4 pour que je puisse initialiser mon plateau. Il me semble que ca fait intervenir les interfaces.
            • Partager sur Facebook
            • Partager sur Twitter
              9 octobre 2011 à 14:18:05

              Tu peut faire une autre classe actionlistener au lieu de mettre this tu mettras ta nouvelle classe. Ensuite tu récupèreras le bouton qui a déclencher l'action et avec sa tu créer ton plateau.
              • Partager sur Facebook
              • Partager sur Twitter
                9 octobre 2011 à 14:22:41

                Citation : lecodeurphp

                Tu peut faire une autre classe actionlistener au lieu de mettre this tu mettras ta nouvelle classe. Ensuite tu récupèreras le bouton qui a déclencher l'action et avec sa tu créer ton plateau.



                Pourrais tu me montrer avec du code parce que je ne comprends pas ce que tu veux dire..

                Comment faire pour afficher un tableau? Enfin j'ai une classe qui est le tableau de toutes les cases. Donc j'aimerais faire apparaitre le plateau mais comment faire ?

                EDIT : Peut être que si je mets mon workspace ca sera plus facile pour se comprendre..
                • Partager sur Facebook
                • Partager sur Twitter
                  9 octobre 2011 à 14:51:29

                  Désole je ne m'en souvient plus trop, après pour afficher je ne sais pas trop moi ce que je te disais s'était surtout le principe.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    9 octobre 2011 à 14:52:50

                    Ok! Merci quand même pour ton aide
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Interface Graphique Help !

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown