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

2D Java Discussion :

Animation text defilent


Sujet :

2D Java

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Points : 193
    Points
    193
    Par défaut Animation text defilent
    Bonsoir tout le monde

    Je cherche un exemple de code pour réaliser un defilement de text sur un textfield en applet.

    C'est pour java 1.5

    Dois je utilser un timer

    Merci

    Cordialement

    A bientôt

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 25
    Points : 22
    Points
    22
    Par défaut
    Oui, tu dois utiliser un javax.swing.Timer, par contre je serais plus réservé sur l'emploi de JTextField. Pourquoi en veux-tu un ? Pourquoi pas un JPanel dans lequel tu aurais redéfini la méthode paintComponent ?

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Points : 193
    Points
    193
    Par défaut
    Bonjour tout le monde

    Je ne sais pas, je dis ca comme ca.

    En faite il faudrai que je vois un exemple.

    Merci

    Cordialement

    A bientôt

  4. #4
    Membre éclairé Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Points : 724
    Points
    724
    Par défaut
    Yo !
    Un pti bout de code que j'avais fais jadis pour un lecteur mp3...
    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
     
    	private void moveText() {
    		// Récupération du nom de l'artiste et du titre de la piste
    		String s = label.getText();
    		StringBuffer sb = new StringBuffer(s);
    		// On prend le premier caractère de la chaine...
    		char temp = sb.charAt(0);
    		// ...On le supprime...
    		sb.deleteCharAt(0);
    		sb.setLength(sb.length() + 1);
    		// ...Et on le positionne à la fin de la chaîne...
    		sb.setCharAt(sb.length() - 1, temp);
    		// ...Avant d'actualiser l'affichage
    		label.setText(sb.toString());
    	}
    EDIT : j'avais oublié le reste...
    Le timer...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    int delay = 1000;
    // Action éffectuée toutes les secondes
    ActionListener chrono = new ActionListener() {
    	public void actionPerformed(ActionEvent arg0) {
    	    moveText();
    	}
    };
    //Creation du timer...
    	if (t == null) {
    	   t = new Timer(delay, chrono);
    	   t.start();
    	}
    +++
    Ju

  5. #5
    Débutant  
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Points : 193
    Points
    193
    Par défaut
    Bonjour tout le monde

    Est ce que ton code fonctionne avec les textfield.

    Dois je faire des import.

    Merci

    Cordialement

    A bientôt

  6. #6
    Membre éclairé Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Points : 724
    Points
    724
    Par défaut
    Yo !

    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
     
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
     
    import javax.swing.JFrame;
    import javax.swing.JTextField;
    import javax.swing.Timer;
     
    public class Test extends JFrame {
    	private Timer t = null;
     
    	private JTextField label = new JTextField("coucou !!! ");
     
    	public Test() {
    		super();
    		initMe();
    		this.setContentPane(label);
    		this.pack();
    		this.setVisible(true);
    	}
     
    	private void moveText() {
    		// Récupération du nom de l'artiste et du titre de la piste
    		String s = label.getText();
    		StringBuffer sb = new StringBuffer(s);
    		// On prend le premier caractère de la chaine...
    		char temp = sb.charAt(0);
    		// ...On le supprime...
    		sb.deleteCharAt(0);
    		sb.setLength(sb.length() + 1);
    		// ...Et on le positionne à la fin de la chaîne...
    		sb.setCharAt(sb.length() - 1, temp);
    		// ...Avant d'actualiser l'affichage
    		label.setText(sb.toString());
    	}
     
    	private void initMe() {
    		int delay = 500;
    		// Action éffectuée toutes les secondes
    		ActionListener chrono = new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    				moveText();
    			}
    		};
    		// Creation du timer...
    		if (t == null) {
    			t = new Timer(delay, chrono);
    			t.start();
    		}
    	}
    	public static void main(String[] args){
    		new Test();
    	}
    }
    Ca marche...
    +++
    Ju

  7. #7
    Débutant  
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Points : 193
    Points
    193
    Par défaut
    Me revoilà

    Je veux mêttre cet animation dans un applet

    Au lieu de mêttre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    import javax.swing.JFrame; 
    import javax.swing.JTextField; 
    import javax.swing.Timer;
    Je devrais mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    import java.awt.JFrame; 
    import java.awt.JTextField; 
    import java.awt.Timer;
    Ais je raison ou pas?

    A+

  8. #8
    Membre éclairé Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Points : 724
    Points
    724
    Par défaut
    Non,

    Tu reprends la classe que je t'ai donné précédemment, tu la fait étendre JApplet au lieu de JFrame,
    Tu redéfinis le constructeur (tu le renommes en fonction init) et c'est tout.
    ie le constructeur devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    	public void init() {
    		initMe();
    		this.setContentPane(label);
    	}
    Voila
    +++
    Ju

  9. #9
    Débutant  
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Points : 193
    Points
    193
    Par défaut
    Bonsoir

    J'aurais besoin d'aide pour finir ce code.

    J'ai oublié de vous dire que le texte ce trouve sur une autre class qui s'appelle Coeurmc.

    J'ignore comment faire en sorte de faire venir.

    TextField anim = new TextField(20);
    Je vous signal que je travail avec Java 1.5.

    Voici le code:

    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
     
    import java.awt.event.ActionEvent; 
    import java.awt.event.ActionListener; 
    import javax.swing.Timer; 
     
    public class Animation implements ActionListener
    {
     
    Coeurmc message = new Coeurmc();
     
    public Animation()
     
    {
     
    Timer t = null;
     
    private void initMe() {
     
    ActionListener chrono = new ActionListener() {
     
    public void actionPerformed(ActionEvent arg0) {
     
    if (t == null) { 
             t = new Timer(delay, chrono); 
             t.start(); 
     
    }
    Merci

    Cordialement

    A bientôt

  10. #10
    Débutant  
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Points : 193
    Points
    193
    Par défaut
    Bonsoir

    Personne n'a d'idée.

    Cordialement

    A bientôt

  11. #11
    Membre éclairé Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Points : 724
    Points
    724
    Par défaut
    fait un setter de ton texte dans ton coeurmc

  12. #12
    Débutant  
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Points : 193
    Points
    193
    Par défaut
    Bonjour tout le monde

    Je ne comprend pas ce que tu dis sozie9372.

    A +

  13. #13
    Membre éclairé Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Points : 724
    Points
    724
    Par défaut
    Il a deux possibilités,

    1 - Soit tu crées des méthodes d'accès (setters/getters) pour lire/modifier le contenu de ton textfield dans ta class Coeurmc.
    Dans ce cas, tu obtiens:
    Class Coeurmc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    /** retourne le texte contenu dans le jtextfield */
    public String getAnimText(){
        return this.anim.getText();
    }
     
    /** change le contenu du jtextfield*/
    public void setAnimText(String newText){
        this.anim.setText(newText);
    }
    Class Animation méthode moveText() tu modifies comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    private void moveText() { 
          // Récupération du nom de l'artiste et du titre de la piste 
          String s = message.getAnimText(); 
          ...
          // ...Avant d'actualiser l'affichage 
          message.setAnimText(sb.toString()); 
       }
    2 - Soit tu mets la méthode moveText() dans la classe Coeurmc et tu modifies ton ActionListener comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ActionListener chrono = new ActionListener() { 
             public void actionPerformed(ActionEvent arg0) { 
                message.moveText();
             } 
          };
    Note : n'oublie pas de changer la visibilité de la méthode moveText() public au lieu de private pour la solution2 (à mon goût la meilleure).

    Voila...
    +++
    Ju

  14. #14
    Membre actif
    Inscrit en
    Mai 2005
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 217
    Points : 220
    Points
    220
    Par défaut
    Ne le prend pas mal argon, mais je pense que tu devrais apprendre et comprendre les concepts de programmation avant de te lancer ... car tu as l'air de ne pas trop maitriser ce qui se cache derrière les mots (ie : setter)

    Je ne dis pas ca pr t'agresser mais seulement parce q je pense que le developpement ne doit pas être très interressant si tu ne comprend pas le code que tu lis.

  15. #15
    Membre éclairé Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Points : 724
    Points
    724
    Par défaut
    Je suis d'accord avec beber...
    Il y a plein de tutoriels sur ce site, tu pourras apprendre énormément de choses (si tu veux bien t'y mettre).Mais si tu galères vraiment, n'hésite pas, il y aura toujours quelqu'un qui prendra le temps pour te filer un pti coup de main !

    +++
    Ju

  16. #16
    Débutant  
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Points : 193
    Points
    193
    Par défaut
    Bonsoir tout le monde

    Je vous remercie, je vais essayer.

    Je vais m'amuser avec les if.

    Merci

    Cordialement

    A bientôt

  17. #17
    Débutant  
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Points : 193
    Points
    193
    Par défaut
    Bonjour tout le monde

    voici les code que j'ai réalisé, apres reflexion, mais ce n'est pas terminé.

    Voici le code de la fonction messanime() qui se trouve dans la classe Monnayeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int messanime()
    {
    String m = animation.getAnimText();
    animation.setAnimText(sb.toString()); 
    }
    Par rapport au code ci-dessus, pourriez vous me dire si il est correcte.

    Voici le code de la class animaton.

    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
     
     
    import java.awt.event.ActionEvent; 
    import java.awt.event.ActionListener; 
    import javax.swing.Timer; 
    public class Animation implements ActionListener
    {
     
    public Animation(Monnayeur m)
    {
    Timer t = null;
     
    private int initMe() 
    {
    int delay = 500;
    ActionListener chrono = new ActionListener(){
     
     
    public void actionPerformed(ActionEvent arg0) {
    animation.messanime()();
    }
    };
    if (t == null) { 
             t = new Timer(delay, chrono); 
             t.start(); 
    }
     
    }
     
    public static void main(String[] args){
     
     
    }
    }
    }
    Voici l'erreur que me sort javac


    animation.java:21: illegal start of expression
    private int initMe()
    ^
    animation.java:56: ';' expected
    ^
    2 errors
    Pourriez vous svp, m'aider à corriger mes erreur.

    Merci

    Cordialement

    A bientôt

  18. #18
    Membre éclairé Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Points : 724
    Points
    724
    Par défaut
    Ton code est faux, tu déclares des fonctions à l'intérieur du constructeur... Ca ne risque pas de fonctionner...
    De plus tu écris
    animation.messanime()();
    [FONT=monospace]Et ca n'est pas correct non plus[/FONT]

Discussions similaires

  1. animation avec du texte defilant
    Par Larsen00 dans le forum Flash
    Réponses: 6
    Dernier message: 06/12/2006, 12h03
  2. Texte Defilant dans la barre
    Par franck.automaticien dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 20/06/2006, 10h24
  3. Configuration Texte defilant
    Par Matgic95 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/02/2006, 03h21
  4. Texte defilant
    Par gilles641 dans le forum MFC
    Réponses: 2
    Dernier message: 04/07/2005, 20h37
  5. text defilant
    Par adilou1981 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 10/02/2005, 21h00

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