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

Interfaces Graphiques en Java Discussion :

Problème d'affichage avec la fonction paint


Sujet :

Interfaces Graphiques en Java

  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 15
    Points : 9
    Points
    9
    Par défaut Problème d'affichage avec la fonction paint
    Bonjour,
    J'ai un problème d'affichage dans mon interface graphique, et visiblement ce problème vient de mon utilisation de la fonction paint sans que je ne parvienne à trouver la source.

    Voilà mon problème en détail:
    J'ai une JFrame dans laquelle j'affiche mon "image de fond", j'ai ensuite un JPanel qui contiendra mes boutons. Or au démarrage mes boutons ne s'affichent que lorsque je passe la souris au dessus, et reste bien affichés ensuite.

    Voici ma classe en question :
    Merci d'avance....

    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
     
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import javax.imageio.ImageIO;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
     
    public class MenuBlackJack implements ActionListener { //Fenêtre du menu principal
     
    	private JPanel ZoneBoutons;
    	private JFrame Fenetre_Principale;
    	private FlowLayout FL;
    	private JButton boutonJouer;
    	private JButton boutonApropos;
    	private JButton boutonQuitter;
     
    	public MenuBlackJack() {
     
    		// Propriétés de la fenêtre principale
    		Fenetre_Principale = new JFrame("BlackJack"){
    		public void paint(Graphics g) {
    		super.paint(g);
    		try {
    		BufferedImage image = ImageIO.read(new File("./Images/test.jpg"));
    		g.drawImage(image, 0, 0, null);
     
    		} 
    		catch (IOException e) {
    		e.printStackTrace();
    		}
    		}
    		}; 
            Fenetre_Principale.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            Fenetre_Principale.setSize(500, 600);
            Fenetre_Principale.setLocationRelativeTo(null);
            Fenetre_Principale.setVisible(true);
            Fenetre_Principale.setResizable(false);
     
    		ZoneBoutons = new JPanel();
    		//Tapis.setPreferredSize(new Dimension(500,600));
     
    		FL = new FlowLayout() ; 
    		JButton boutonJouer = new JButton("Jouer");
    		JButton boutonApropos = new JButton("A Propos");
    		JButton boutonQuitter = new JButton("Quitter");
     
    		FL.setAlignment(FlowLayout.CENTER);
    		ZoneBoutons.setLayout(FL);
    		Fenetre_Principale.setContentPane(ZoneBoutons);
     
     
    		//this.boutonJouer.setBounds(180,200,150,50);
    		//this.boutonApropos.setBounds(180,260,150,50);
    		//this.boutonQuitter.setBounds(180,320,150,50);
     
    		boutonQuitter.addActionListener(this); 
    		boutonJouer.addActionListener(this);
    		boutonApropos.addActionListener(this);
     
     
    		ZoneBoutons.add(boutonJouer);
    		ZoneBoutons.add(boutonApropos);
    		ZoneBoutons.add(boutonQuitter);
     
    	}
     
    	// Fonction pour afficher l'image de fond du menu
     
     
    	public void actionPerformed(ActionEvent contexte) { 
     
    		if (contexte.getActionCommand().equals("Jouer")) {
    			TapisBlackJack TapisJeu = new TapisBlackJack();
    			}
     
    		if (contexte.getActionCommand().equals("A Propos")) {
    			 MenuAPropos FondApropos = new MenuAPropos();}
     
    		if (contexte.getActionCommand().equals("Quitter")) {
    			 System.exit(0);}	
    	} 	
     
    }

  2. #2
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 76
    Points : 35
    Points
    35
    Par défaut
    il se peux que le problème viens de flowLayout , en fin ....

  3. #3
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    Problème résolu avec l'aide d'un ami!

    Pour ceux que cela pourrait intéresser il m'a fallu utiliser la méthode paintComponent au lieu de paint et l'utiliser dans le JPanel au lieu de la JFrame

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 19/05/2005, 11h06
  2. Problème de titre avec la fonction window.open
    Par kloss dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 18/04/2005, 18h34
  3. problème d'affichage avec printf
    Par sorari dans le forum C++
    Réponses: 12
    Dernier message: 08/03/2005, 18h30
  4. Réponses: 6
    Dernier message: 19/10/2004, 13h46
  5. Problème d'affichage avec trace
    Par WriteLN dans le forum Flash
    Réponses: 10
    Dernier message: 22/10/2003, 16h59

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