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 :

Afficher une image dans un JPanel


Sujet :

AWT/Swing Java

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 196
    Par défaut Afficher une image dans un JPanel
    Bonsoir,
    Voici mon problème,
    j'essaye de créer un damier sur lequel j'essaye d'accrocher des image et impossible d'y arriver.
    Voici le code de mes classes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public class TestFenetre {
    public static void main(String[] args) {
    	Fenetre f = new Fenetre("Mon super damier");
    	f.sizeAndPlace();
    	}
    }
    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
     
    package TD6;
     
    import javax.swing.*;
    import java.awt.*;
     
    public class Fenetre extends JFrame {
     
    	private String titre;
     
    	private Damier d0;
     
    	public Fenetre (String titre) {
    		super(titre);
    		this.setSize(300,300);
    		this.setResizable(false);
    		setLayout(new BorderLayout());
    		// Création du damier
    		d0 = new Damier(10,10);
    		this.add(d0,BorderLayout.CENTER);
    		// Permet d'arrêter l'appli lors de la fermeture de la fenêtre
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	}
     
    	public void sizeAndPlace() {
    		Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
    		// Récupération de la largeur et hauteur de l'écran 
    		int lae = (int)dim.getWidth();
    		int hae = (int)dim.getHeight();
    		// Retaillage de la largeur et de la hauteur de la fenêtre 
    		int laf = (int)(lae*3/4);
    		int haf = (int)(hae*3/4);
    		// Variable d'émargement de la fenêtre
    		int Xf = (int)(lae*10/100);
    		int Yf = (int)(hae*10/100);
    		// Affichage de la fenêtre avec les nouvelles dimension
    		setBounds(Xf, Yf, laf, haf);
    		this.setVisible(true);
    	}
    }
    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
     
    package TD6;
     
    import java.awt.*;
     
    import javax.swing.*;
     
    public class Damier extends JPanel{
     
    	Case [][] t;
     
    	public Damier (int nbrcaselar, int nbrcasehau) {
    		// Création du style de damier
    		setLayout(new GridLayout(nbrcaselar, nbrcasehau));
    		// Réservation de l'espace en mémoire
    		t = new Case[nbrcaselar][nbrcasehau];
    		for (int i=0 ; i<nbrcaselar ; i++) {
    			for (int j=0 ; j<nbrcasehau ; j++) {
    				t[i][j] = new Mur(i,j);
    				// Permet l'affichage dans la fenêtre
    				this.add(t[i][j]);
    			}
    		}
    	}
    }
    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
     
    package TD6;
     
    import javax.swing.*;
    import java.awt.*;
     
    public abstract class Case extends JPanel {
     
     
    	protected static Toolkit toolkit = Toolkit.getDefaultToolkit() ;
     
    	public Case () {
    	}
     
    	public abstract void paintComponent(Graphics g);
     
    }
    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
     
    package TD6;
     
    import java.awt.*;
     
    public class Mur extends Case {
     
    	Image mur = toolkit.getImage("mur.gif");
     
    	public Mur(int x, int y)
    	{
    	  super();
    	}
     
    	public void paintComponent(Graphics g) {
    		int l,h;
    		l = mur.getWidth();
    		h = mur.getHeight();
    		System.out.println(mur+" "+l+" "+h);
    		g.drawImage(mur, 0, 0, l, h, this);
    	}
    }
    J'ai joint le code également en pièce jointe

    Merci
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Afficher une image dans jpanel
    Par lostsoul dans le forum Général Java
    Réponses: 6
    Dernier message: 12/05/2009, 04h07
  2. afficher une image dans un JPanel
    Par DiverSIG dans le forum Débuter
    Réponses: 5
    Dernier message: 11/02/2009, 16h07
  3. Debutant,comment afficher une image dans un Jpanel
    Par dilamax_1 dans le forum Graphisme
    Réponses: 1
    Dernier message: 27/04/2008, 16h05
  4. Afficher une image dans un JPanel
    Par @omzo dans le forum AWT/Swing
    Réponses: 10
    Dernier message: 19/05/2007, 00h19
  5. comment afficher une image dans un jpanel ?
    Par 180degrés dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 18/04/2006, 15h33

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