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 :

Mise à jour !


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de fabred
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    180
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2007
    Messages : 180
    Par défaut Mise à jour !
    Es qu'il existe une fonction qui permet de redessiner un élément graphique autre que repaint() qui ne marche pas !

    En fait, j'ai un tableau qui ne sait mets pas à jour,
    un JXTable dans lequel il y a un calcul !

    Si vous avez un idée ?

  2. #2
    Membre confirmé Avatar de titus55
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 115
    Par défaut
    Salut,
    j'ai aussi eu des problèmes avec repaint, la seule solution que j'ai trouvé (je ne sais d'ailleurs toujours pas pourquoi ça ne marchait pas) c'est de rajouter un setVisible(true) après mon repaint.
    J'espère que ça va t'aider, ++

  3. #3
    Membre confirmé Avatar de fabred
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    180
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2007
    Messages : 180
    Par défaut
    Merci mais ca marche pas ! !

    Idée suivante ----->

  4. #4
    Membre chevronné Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Par défaut
    Citation Envoyé par fabred
    Idée suivante ----->
    Un petit "s'il vous plaît" ça ne mange pas de pain...
    Tu peux aussi chercher par toi même plutot que d'attendre que quelqu'un ai la gentillesse de répondre à ton post si peu chaleureux...



    Utilise revalidate

  5. #5
    Membre confirmé Avatar de fabred
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    180
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2007
    Messages : 180
    Par défaut
    Dsl, mais ca n'ont plus marche pas !
    Merci de ton aide !

    S'il vous plait, ........

  6. #6
    Membre éclairé Avatar de Liquidsoul
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 51
    Par défaut
    Salut,

    Ta question n'est guère précise, peut-être qu'avec un bout de code nous comprenions mieux ?

  7. #7
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par fabred
    Es qu'il existe une fonction qui permet de redessiner un élément graphique autre que repaint() qui ne marche pas !
    repaint() fonctionne très bien !

    Donc soit tu l'utilises mal soit ton code est buggé...

    Bref un bout de code et un descriptif plus détaillé seraient utiles...


    a++

  8. #8
    Membre confirmé Avatar de fabred
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    180
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2007
    Messages : 180
    Par défaut
    J'ai refait le truc avec un JXTextField, pour que ca soit plus simple a comprendre !

    Voici l'observable

    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
     
    public class Hypothese extends Observable{
     
    	/**
             * Nom de l'exploitant
             */
    	private String nom;
    	/**
             * Prenom de l'exploitant
             */
                  private String prenom;
     
    	/**
             * Constructeur par defaut
             */
    	public Hypothese() {
    		super();
    		addObserver(new PaneDossier(null,null));	
    		this.nom = null;
    		this.prenom = null;
    	}
     
          public void setNom(String nom) {
    		this.nom = nom;
    		setChanged();
    		notifyObservers();
    	}
     
    	/**
             * @param prenom the prenom to set
             */
    	public void setPrenom(String prenom) {
    		this.prenom = prenom;
    		setChanged();
    		notifyObservers();
    	}
    }

  9. #9
    Membre confirmé Avatar de fabred
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    180
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2007
    Messages : 180
    Par défaut
    et l'observer =>

    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
     
    public class PaneDossier extends JPanel implements Observer {
     
    	/**
             * 
             */
    	private JTextField texte;
     
            /**
             * Constructeur par arguments
             * @param hypothese
             */
    	public PaneDossier(Dossier dossier, Hypothese hypothese) {
    		super();
    		this.hypothese = hypothese;
    		this.dossier = dossier;
     
    		add(getTexte());
     
             this.remplirChamps();
    	}
     
     
              public void update(Observable o, Object arg) {
    		setTexte(hypothese.getNom()+hypothese.getPrenom());
    		this.repaint();
    	}
     
          	public void setTexte(String texte) {
    		this.texte.setText(texte);
    	}
     
     
    	public JTextField getTexte() {
    		if (texte==null){
    			texte= new JTextField();
    			texte.addKeyListener( new KeyAdapter() {
    				public void keyReleased(KeyEvent e) {
    					getHypothese().setTexte(texte.getText());
    				}
    			});
    		}
    		return texte;
    	}
     
    }
    Dans le TextField texte, le nom + le prenom n'appairaisse pas ! !

  10. #10
    Membre très actif
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 138
    Par défaut
    Je crois qu'il va falloir que tu debug ton propre code.
    Pour cela, il faut que tu ajoute des System.out.println à certains endroit pour savoir les lignes de codes qui sont appelées et celles qui ne le sont pas.
    Apres, tu devrais pouvoir comprendre la cause de ton problème.

  11. #11
    Membre confirmé Avatar de fabred
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    180
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2007
    Messages : 180
    Par défaut
    Merci, mais je l'ai deja fait cà !

    En fait, il passe dans le update, met la chaine (nom+prenom) dans le TExtField
    puis revient dans l'observable !

    Mais en fait c comme s'il n'été pas passé dans le update !

  12. #12
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	public Hypothese() {
    		super();
    		addObserver(new PaneDossier(null,null));	
    		this.nom = null;
    		this.prenom = null;
    	}
    Tu ajoutes comme observer un PaneDossier vide qui n'est même pas affiché...

    Bref tu a 2 PaneDossier :
    • L'un est affiché mais n'est pas enregistré auprès de l'oservable
    • L'autre n'est pas affiché, mais est enregistré auprès de l'observable...


    Evites d'utiliser les constructeurs pour passer des références, surtout lorsqu'il faut une référence à double sens comme dans ce cas...

    a++

    PS : Et plutôt que d'utiliser des Observer/Observable, tu devrais plutôt utiliser le principe des Listeners : Comment créer son propre Listener ?

  13. #13
    Membre confirmé Avatar de fabred
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    180
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2007
    Messages : 180
    Par défaut
    Ouais c bon ta v raison, ca à l'air de marcher !

  14. #14
    Membre confirmé Avatar de fabred
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    180
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2007
    Messages : 180
    Par défaut
    ouais c bon, j'ai rajouté l'observable dans l'observer !!

    Merci à tous pour votre aide !


  15. #15
    Membre chevronné Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Par défaut
    Citation Envoyé par fabred
    Ouais c bon ta v raison, ca à l'air de marcher !
    Tu m'as pas l'air d'avoir compris le truc...

    Apprends la programmation objet en Java avant de te lancer dans du Swing... Sinon, des erreurs tordues de la sorte, tu vas nous en poser un paquet...

    EDIT : et si tu pouvais éviter les doubles posts aussi
    Ici on ne fait pas de concours du nombre de réponses...

  16. #16
    Membre confirmé Avatar de fabred
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    180
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2007
    Messages : 180
    Par défaut
    Desolé, ........

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

Discussions similaires

  1. Comment empêcher la mise à jour d'un contrôle à l'écran ?
    Par JojoLaFripouille dans le forum Composants VCL
    Réponses: 4
    Dernier message: 19/09/2003, 12h52
  2. [mise à jour]Comment procéder sans tout péter...
    Par FFF dans le forum Installation
    Réponses: 3
    Dernier message: 10/09/2003, 08h11
  3. Mise à jour de la version de MySQL
    Par jobstar dans le forum Administration
    Réponses: 8
    Dernier message: 18/08/2003, 10h45
  4. mise à jour de champs time (interbase)
    Par pram dans le forum XMLRAD
    Réponses: 6
    Dernier message: 04/03/2003, 10h25
  5. Réponses: 2
    Dernier message: 12/02/2003, 15h26

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