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

Graphisme Java Discussion :

probleme d'image dans une class


Sujet :

Graphisme Java

  1. #1
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 178
    Points : 61
    Points
    61
    Par défaut probleme d'image dans une class
    bonjour à tous et à toutes voila j'ai un nouveau probleme concernant les images

    j'ai cree un class pour afficher une image et sur cette image je voudrias rajouter des boutons sachant que j'utilise un CardLayout
    j'ne dit pas plus vous verrai bine par vous meme 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
    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
     
    import java.awt.BorderLayout;
    import java.awt.CardLayout;
    import java.awt.Color;
    import java.awt.FlowLayout;
    import java.awt.Graphics;
    import java.awt.image.BufferedImage;
    import java.io.IOException;
     
    import javax.imageio.ImageIO;
    import javax.swing.*;
     
    import Inscription.moteur_Inscription;
     
    public class Jeu {
    	JPanel Jeu;
    	JButton Acceuil;
    	JButton Village;
     
     
    	 CardLayout gestionnaireDesCartes = new CardLayout();
    	 JPanel jeuCartes = new JPanel();
     
    	Jeu() throws IOException{
    		Jeu = new JPanel();
    		JPanel p = new JPanel();
    		 JLabel message = new JLabel("Bonjour1", SwingConstants.CENTER);
    		 JLabel message2 = new JLabel("Bonjour2", SwingConstants.CENTER);
    		 VoirCercle voirCercle = new VoirCercle();
     
    		Acceuil = new JButton("");
    		Village = new JButton("");
     
    		//Afecte un gestionnaire de présentation a ce panneau
        	BorderLayout disposition = new BorderLayout();
    		Jeu.setLayout(disposition);
     
    		JFrame frame = new JFrame("History And Futury");
    	    frame.setContentPane(Jeu);
    	    Jeu.add(jeuCartes); 
     
    	    //les different option de la frame 
    	    frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
    	    frame.add(new imageJeu());
     
    	    //donne les mesure de la Frame
    	    frame.setBounds(0,0,1280,1028);
    	    //rend la frame visible
    	    frame.setVisible(true);
     
    	    frame.setLayout(null);
     
    	    jeuCartes.setLayout(gestionnaireDesCartes); 
    	    jeuCartes.setBounds(260,190,955,780);
    	    jeuCartes.setOpaque(false);
    	    jeuCartes.add(voirCercle, "cercle1");
    	    jeuCartes.add(message2, "message2");
     
    	    //enregistrer mes bouton dans le panneau menu
    	    Jeu.add(Acceuil);
    	    Jeu.add(Village);
     
    	  //Positionne les bouton a l'endroit indiquer
    	    Acceuil.setBounds(60, 462, 100, 17);
    	    Village.setBounds(60, 486, 100, 17);
     
    	}
     
    	public static void main(String[] args) throws IOException {
    		Jeu jeu = new Jeu();
     
    	}
     
    	class imageJeu extends JComponent {
    		   private BufferedImage image;
     
    		   public imageJeu() throws IOException {
    			   image = ImageIO.read(imageJeu.class.getResourceAsStream("Page_Principale.png")); 
     
    		   }
    		   public imageJeu(BufferedImage image) {
    		      this.image = image;
    		   }   
    		   protected void paintComponent(Graphics surface) {
    		      surface.drawImage(image, 0, 0,1272,1000, null);   
    		   }   
    		}
     
    	class VoirCercle extends JComponent {
    		   private BufferedImage image;
     
    		   public VoirCercle() throws IOException {
    			   image = ImageIO.read(VoirCercle.class.getResourceAsStream("bord_Armee.png")); 
     
    		   }
    		   public VoirCercle(BufferedImage image) {
    		      this.image = image;
    		   }   
    		   protected void paintComponent(Graphics surface) {
    		      surface.drawImage(image, 0, 0,800,90, null);   
    		   } 
     
    		  public class Cercle extends JPanel{
    			   JButton bouton1 = new JButton("trace");
    			   JButton bouton2 = new JButton("efface");
     
    			   Cercle()
    			   {
    			     setLayout(new FlowLayout(FlowLayout.CENTER,5,100));
    			     bouton1.setActionCommand("tracer");
    			     bouton2.setActionCommand("effacer");
    			     add(bouton1);
    			     add(bouton2);
    			   }
    		   }
    		}  
    }
    c'ets dans la class VoirCercle que j'aimerai bine mettre 2 bouton mais il ne s'affiche pas

  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
    tu n'utilises null part ta classe Cercle. les boutons ne risquent pas d'etre visibles
    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
    class VoirCercle extends JComponent {
    		   private BufferedImage image;
    		   
    		   public VoirCercle() throws IOException {
    			   image = ImageIO.read(VoirCercle.class.getResourceAsStream("bord_Armee.png")); 
     
    		   }
    		   public VoirCercle(BufferedImage image) {
    		      this.image = image;
                                 setLayout(new BorderLayout());
                                 add(new Cercle()));
    		   }   
    		   protected void paintComponent(Graphics surface) {
    		      surface.drawImage(image, 0, 0,800,90, null);   
                                paintChildren(surface); //a verifier, je ne suis plus sur de l'ecriture
    		   } 
    		   
    		  public class Cercle extends JPanel{
    			   JButton bouton1 = new JButton("trace");
    			   JButton bouton2 = new JButton("efface");
    			
    			   Cercle()
    			   {
    			     setLayout(new FlowLayout(FlowLayout.CENTER,5,100));
    			     bouton1.setActionCommand("tracer");
    			     bouton2.setActionCommand("effacer");
    			     add(bouton1);
    			     add(bouton2);
    			   }
    		   }
    		}
    je n'ai pas testé, mais ca doit pas en etre loin.

    ps: evites d'imbriquer trop de classes. pas plus d'un niveau de classe privées. Sinon fait des classe "friendly"(sans le public devant) comme ca elles ne seront visibles que dans le package où elles sont.

  3. #3
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 178
    Points : 61
    Points
    61
    Par défaut
    nn j'ai trouver voici la solution

    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
     
    class VoirCercle extends JPanel
    	{  
    	  JButton bouton1 = new JButton("trace");
    	  JButton bouton2 = new JButton("efface");
    	  boolean cercle = true;
    	  private BufferedImage image;
     
    	  VoirCercle() throws IOException
    	  {
    	    setLayout(new FlowLayout(FlowLayout.CENTER,5,5));
    	    bouton1.setActionCommand("tracer");
    	    bouton2.setActionCommand("effacer");
    	    add(bouton1);
    	    add(bouton2);
    	    setBackground(Color.cyan);
     
     
    		image = ImageIO.read(imageJeu.class.getResourceAsStream("Page_Principale.png")); 
     
    	  }
    	  public void paintComponent(Graphics surface) {
    	      surface.drawImage(image, 0, 0,127,100, null);   
    	   }   
    	}

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

Discussions similaires

  1. 2 images dans une classe,non visible ie mais ok pour chrome
    Par nawak.seb dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 05/10/2009, 20h22
  2. Applet: dessiner une image dans une classe
    Par accion mutante dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 24/07/2009, 23h33
  3. Probleme ouverture fichier dans une classe
    Par theo7 dans le forum C++
    Réponses: 18
    Dernier message: 11/08/2008, 15h25
  4. [Tableaux] Probleme variable statique dans une classe
    Par Joe Le Mort dans le forum Langage
    Réponses: 7
    Dernier message: 31/08/2006, 12h35
  5. Afficher une image dans une classe héritant de Jframe
    Par condor_01 dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 27/04/2006, 23h11

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