begin process at 2010 03 16 15:46:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Java

 > 

Archives

 > 

Au secours

 > 

MISE A JOUR JLABEL.....DS UN JPANEL????


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

MISE A JOUR JLABEL.....DS UN JPANEL????

jeudi 2 mars 2006 à 17:47:37 | MISE A JOUR JLABEL.....DS UN JPANEL????

kenza_sana

Bonjour j'ia un probléme au niveau de la mise a jour d'un JPanel ca marche mais 1 seul fois,
J'ai un petit jeu et a chaque fois j'incremente le score du gagnant mais ceci n'est fait qu'une la 1ére fois aprés comme s'il ne trovue plus le JPanel :
Voici ce que j'ai fait :
////////////////////////////////////////////////////////////////////////////////

class SuivitJeu extends JPanel
{
   SuivitJeu()
{
//Je crée mon JPanel avec image en arriére plan
//Qui ne contient que des JLabel et une image aussi
}
 public void AffScore(int j1,int j2)
  {
    //Mise a jour Joueur 1
    s1.setVisible(false);     //JLabel qui contient le score du joueur1
    this.remove(s1);
    s1=new JLabel();
    s1=getText("      "+j1+"    ",18,22,Color.ORANGE);
    s1.setVisible(true);
    this.add(s1,2);

    //Mise a jour Joueur 2
   s2.setVisible(false);//JLabel qui contient le score du joueur2
   this.remove(s2);
   s2=new JLabel();
  s2=getText("      "+j2+"     ",18,22,Color.ORANGE);
  s2.setVisible(true);
  this.add(s2,5);
  }

//////////////////////////////////////////////////////////////////////
Le probléme est que le compilateur ne voi plus ce JPanel aprés la premiére mise a jour...
MERIC SVP aidez moi
j'ia meme essayé d'afficher la classe du SuivitJeu  il me dit tj (Pointeur NULL ).....au 2éme esssaie...Je seria pbligé de fermé l'application et de la réouvrir....
SVP je ne comprend plus quoi faire....

jeudi 2 mars 2006 à 18:23:30 | Re : MISE A JOUR JLABEL.....DS UN JPANEL????

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS

Pourquoi donc détruire et recréer tes JLabel à chaque fois ??
_

jeudi 2 mars 2006 à 19:26:09 | Re : MISE A JOUR JLABEL.....DS UN JPANEL????

kenza_sana

Parceque  quand je met:
 s1=getText(j1);
Il na m'afiche aucune erreur de saisie mais le JLabel n'est pas mis a jour....
Je n'ai trouvé aucune autre méthode...je ne sais pas comment le mettre a jour vu que la fenetre (JFrame) est chargé une seule fois....
Vous avez une autre facon de faire?
jeudi 2 mars 2006 à 20:45:03 | Re : MISE A JOUR JLABEL.....DS UN JPANEL????

Twinuts

Membre Club Administrateur CodeS-SourceS
Salut, dans ta methode getText tu fais quoi??????
si dans ta methode tu renvois un JLabel faut m'expiquer pourquoi tu fais
s1=new JLabel();
s1= getText("      "+j1+"    ",18,22,Color.ORANGE);

Sinon normalement pour updater le texte d'un label avec un new texte tu dois faire
label.setText("un texte");

envois le code de ta methode getText(.....)

WORA
jeudi 2 mars 2006 à 21:33:44 | Re : MISE A JOUR JLABEL.....DS UN JPANEL????

kenza_sana

Merci ben pour le setText j'ai déja essayé mais a ne marche pas(avec les applets ca marche mais av ec le JFrame peut etre car il ne rafraichi pas la page je ne comprend pas pouruqoi d'ailleurs....)
Bon je t'envoie le code de getText elle ne fait rien de spécile juste la mise en forme:
/////////////////////////////////////////
public JLabel getText(String txt,int font,int tail,Color coul)
  {
    JLabel lb=new JLabel(txt);
    lb.setFont(new Font(f.getNomFont(font),Font.ITALIC,tail));
    lb.setForeground(coul);
    return(lb);
  }
/////////////////////////////////////
Ben pour le s1=n ew JLabel();
car vu qu'il ne rafraichi pas le JLabel dc je le supprime et je créer un autre au meme emplacement....
Mon Panel je l'ai crée avec le méthode paint car y'a un dession comme fond...
Pour un JPanel standard ca marche...
C'est trops bizzare tout ca et ca me fait du retard....
MERCI

jeudi 2 mars 2006 à 21:47:20 | Re : MISE A JOUR JLABEL.....DS UN JPANEL????

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS

Ben le setText raffraichit bien le JLabel, il y a pas de problème à ce niveau là (en tout cas, dans tout mes projets, j'ai jamais eu de problèmes pour raffraichir un label !)
_

jeudi 2 mars 2006 à 22:22:35 | Re : MISE A JOUR JLABEL.....DS UN JPANEL????

Twinuts

Membre Club Administrateur CodeS-SourceS
Ja rejoint darksidious perso je n'ai jamais eu de problème avec les JLabel qu'il soit dans une JFrame, un JPanel, un JTree.....
 

WORA
vendredi 3 mars 2006 à 00:01:44 | Re : MISE A JOUR JLABEL.....DS UN JPANEL????

kenza_sana

Alors vs pensez que pt etre l'environement n'est pas bien...
J'utilise le JBuilder....
D'ailleurs j'ia trouvé qu'il y'a des trucs bizzare comme le SetIcon il ne trouve jamais l'image pourtant avec NetBeans ca marche...
Doit je changer .????
Car vraiment ca fait 1 semaine que je susi sur ce probléme...

vendredi 3 mars 2006 à 01:05:09 | Re : MISE A JOUR JLABEL.....DS UN JPANEL????

Twinuts

Membre Club Administrateur CodeS-SourceS
Salut,

je ne pense pas que l'environement change quelque chose........
mais si à mes yeux seul eclipse reste le seul super ide digne de ce nom mais bon les goûts et les couleurs.......

a mon avis le problème est plus basé sur ton code tout peux joué sur ton problème, voici un exemple simple qui fonctionne  donc a toi de voir comment l'adapter :

voici le panel qui contient l'image

import java.awt.Graphics;
import java.awt.Image;

import javax.swing.JPanel;

public class PanelImage extends JPanel{

    private static final long serialVersionUID = 767464606737125113L;

    public Image background = null;
   
    public PanelImage(String image){
        super();
        background = getToolkit().getImage(image);
    }
   
    public void paintComponent(Graphics g){
        g.clearRect(0, 0, getSize().width, getSize().height);
        if(background != null)
            g.drawImage(background, 0, 0, this);
        super.paintComponents(g);
    }
}

maintenant la fenetre

import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.SwingUtilities;

public class Test extends JFrame implements ActionListener{

    private static final long serialVersionUID = 7654152022094793630L;
   
    private PanelImage panelImage = null;

    private JLabel jLabel1 = null;
   
    private JLabel jLabel2 = null;

    private JButton jButton1 = null;

    private JButton jButton2 = null;

    public static void main(String [] args){
        SwingUtilities.invokeLater(new Runnable(){
            public void run(){
                new Test().setVisible(true);
            }
        });
    }
   
    public Test() {
        super();
        initialize();
    }

    private void initialize() {
        setSize(300, 200);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        setContentPane(getPanelImage());
        setTitle("JLabel Test");
    }

    private PanelImage getPanelImage() {
        if (panelImage == null) {
            panelImage = new PanelImage("background.jpg");
            panelImage.setLayout(new GridLayout(2, 2));
            panelImage.add(getJLabel1(), null);
            panelImage.add(getJLabel2(), null);
            panelImage.add(getJButton1(), null);
            panelImage.add(getJButton2(), null);
        }
        return panelImage;
    }
   
    private JLabel getJLabel1(){
        if(jLabel1 == null){
            jLabel1 = new JLabel();
            jLabel1.setText("JLabel 1");
            jLabel1.setForeground(Color.RED.darker());
            jLabel1.setBorder(BorderFactory.createEtchedBorder());
            jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        }
        return jLabel1;
    }
   
    private JLabel getJLabel2(){
        if(jLabel2 == null){
            jLabel2 = new JLabel();
            jLabel2.setText("JLabel 2");
            jLabel2.setForeground(Color.BLUE.darker());
            jLabel2.setBorder(BorderFactory.createEtchedBorder());
            jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        }
        return jLabel2;
    }

    private JButton getJButton1() {
        if (jButton1 == null) {
            jButton1 = new JButton();
            jButton1.setText("Change label1");
            jButton1.addActionListener(this);
        }
        return jButton1;
    }

    private JButton getJButton2() {
        if (jButton2 == null) {
            jButton2 = new JButton();
            jButton2.setText("Change label2");
            jButton2.addActionListener(this);
        }
        return jButton2;
    }

    public void actionPerformed(ActionEvent e) {
        if(e.getSource().equals(getJButton1())){
            String ret = JOptionPane.showInputDialog(this, "Saisir le nouveau texte du label 1", "nouveau text");
            if(ret != null && ret.trim().compareTo("") != 0)
                getJLabel1().setText(ret);
        }
        if(e.getSource().equals(getJButton2())){
            String ret = JOptionPane.showInputDialog(this, "Saisir le nouveau texte du label 2", "nouveau text");
            if(ret != null && ret.trim().compareTo("") != 0)
                getJLabel2().setText(ret);
        }
    }
}



WORA


Cette discussion est classée dans : jour, jlabel, jpanel, s1, s2


Répondre à ce message

Sujets en rapport avec ce message

Image dans JPanel cache mes boutons [ par Sw1tch ] Bonjour,ca doit surement être tout bete, mais j'ai un petit problème.J'ai créé un JLabel qui à la meme taille que mon JPanel. J'y ai affecté un ImageI tableau jtable [ par cid019 ] salut a tous,vloila je souhaite trier un tableau issu d'un jtable mais sans utiliser de 'comparator' car trop compliqué.je souhaite donc faire un bete JLabel disparait sous JPanel [ par kaliel ] salut!!Dans une JFrame,j'ai un Jpanel qui contient une image en texture et un Jlabel qui contient une autre image. Le problème est que si je redimens question de débutant [ par tweeder ] Bonjour, j'aimerais savoir pourquoi ma fenêtre ne se rafraichit pas quand je click sur le bouton. Mon counter à beau s'incrémenter, c'est toujours Éta Mise à jour de JLabel dans une Box.... [ par sasav ] Bonjour à tous, voila mon probleme: dans une Box, j'ai mis des JLabel. La création de cette Box se fait dans une classe séparée. Les JLabel de cette Mise a jour d'un JLabel [ par kenza_sana ] Bonjour j'affiche un Jlabel et quand on clique sur un bouton je voudrai modifier son contenue mais le probléme :si je met : l.setTexte("MODIFIER");  / Rafraichir/Mettre à jour image dans JPanel [ par z980x ] Bonjour à tous, j'aimerais savoir comment faire pour mettre à jour l'image affichée dans un JPanel. En effet, je télécharge une image sur internet, e LAYOUT et positionnement [ par alonsyl ] bonjour,je tente actuellement de m'initier a la creation d'interfaces graphiques et je dois dire que j'ai du mal a jongler avec les LAYOUT. voici ce a probleme pour changer le txt d'un jlabel [ par nykaula ] voila, je test ce petit script et le but est que quand je clic sur un bouton, ca change le jlabel mais ca ne fait rien qq un pourrait m'aider merci effacer un JLabel [ par g_fuck ] salut !!  excusez moi d'insister mais je n'arives toujours pas effacer ou rendre invisible (comme vous voulez) mes JLabel dans mon JPanel . J'ai essay


Nos sponsors


Appels d'offres

Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales