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 :

Problème de JLabel


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Points : 7
    Points
    7
    Par défaut Problème de JLabel
    Bonjour à tous,

    j'ai un petit probleme:
    j'ai une class interface avec un jpanel, jlabel,et des jbutton, j'ai dans cette meme class, une procedure qui doit modifier le jlabel, mais apparemment il ne le connait pas. Bref voici mon code. dsl il est pas commenté du tout

    Code java : 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
    
    import java.awt.*;
    import java.awt.event.*;
    import javax.naming.ldap.Control;
    import javax.swing.*;
    public class Fenetre2 extends JFrame implements ActionListener
    {
    static Game jeu;
    JButton boutonNord,boutonSud,boutonEst,boutonOuest,prendre,deposer;
    ImageIcon imgcoul,imgcel;
    Image cellule;
    JPanel panel;
    static Joueur player;
    JLabel label;
     
    
    publicstaticvoid main(String[] args) {
    
    jeu = new Game("thomas");
    player = jeu.getPlayer();
    Fenetre2 fenetre = new Fenetre2();
    fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    fenetre.Fenetreinit();
    fenetre.show();
    jeu.play();
    
    }
     
    
    publicvoid Fenetreinit()
    { 
    
    JPanel panel =new JPanel();
    JLabel label = new JLabel();
    
    getContentPane().add(panel);
    getContentPane().setLayout(new FlowLayout());
    
    this.setSize(500, 500);
     
    boutonNord = new JButton("nord");
    boutonNord.setBounds(120, 120, 50, 50);
    panel.add(boutonNord);
    boutonNord.addActionListener(this);
    
    
    (...)
    label.setBounds(120, 120, 50, 50);
    ImageIcon imgcel =new ImageIcon("c:/cellule.JPG");
    ImageIcon imgcoul =new ImageIcon("c:/couloir.JPG");
    label.setIcon(imgcel);
    panel.add(label);
    
    }
    publicvoid afficheimage(String piece)
    {
    
    ImageIcon imgcel =new ImageIcon("c:/cellule.JPG");
    ImageIcon imgcoul =new ImageIcon("c:/couloir.JPG");
    
    
    if (piece.equals("cellule"))
    {
    System.out.println("Affiche imagecel");
    label.setText("Vous êtes dans la cellule");
    }
    
    
    publicvoid actionPerformed(ActionEvent e){
    
     
    
    if (e.getSource()== boutonNord)
    {
    Command com = new Command("aller","Nord");
    jeu.processCommand(com);
    String piece = player.getCurrentroom().getDescription();
    this.afficheimage(piece);
      }
    }
    }
    }
    

  2. #2
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    423
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 423
    Points : 303
    Points
    303
    Par défaut
    salut,
    c'est vrai que ton code n'est pas commenté mais pense à donner au moins la fonction qui modifie le JLabel.
    en tout cas j'ai vu ton code et j'ai remarqué que tu as définit ton JLabel et ton JPanel deux fois :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    JButton boutonNord,boutonSud,boutonEst,boutonOuest,prendre,deposer;
    ImageIcon imgcoul,imgcel;
    Image cellule;
    JPanel panel;
    static Joueur player;
    JLabel label;
    et aussi dans la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    publicvoid Fenetreinit()
    { 
    
    JPanel panel =new JPanel();
    JLabel label = new JLabel();
    ce que explique ton cas.
    supprime la définition du JLabel et JPanel dans la fonction Fenetreinit().
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    publicvoid Fenetreinit()
    { 
    
    panel =new JPanel();
    label = new JLabel();

  3. #3
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    Voici une raison de plus d'employer le "this" pour tous les attributs !!!!!
    Ceci est un bon exemple dans le cadre du non respect des conventions de codage !!!!!

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    ok merci pour vos réponses. Je vais tester ca

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    merci beaucoup.

    Donc j'ai supprimer les deux initialisation dans Init et je les mits a la place des JLabel label;
    JPanel panel;

    et ca marche merci beaucoup.

  6. #6
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    423
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 423
    Points : 303
    Points
    303
    Par défaut
    salut,
    n'oublie pas le tag .

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

Discussions similaires

  1. Problème avec un JLabel
    Par Silverstone dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 23/08/2007, 15h38
  2. Problème affichage JLabel
    Par Vitaly dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 21/08/2007, 00h48
  3. Problème d 'affichage d une grile dans un JLabel
    Par louby dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 26/06/2006, 15h56
  4. Problème pour récupérer le nom d'un JLabel
    Par ropabo dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 02/06/2006, 01h10
  5. [JLabel] Problème de texte tronqué
    Par mister3957 dans le forum Composants
    Réponses: 3
    Dernier message: 06/08/2005, 11h12

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