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
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
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 ?
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
Yo !
Un pti bout de code que j'avais fais jadis pour un lecteur mp3...
EDIT : j'avais oublié le reste...
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()); }
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
Bonjour tout le monde
Est ce que ton code fonctionne avec les textfield.
Dois je faire des import.
Merci
Cordialement
A bientôt
Yo !
Ca marche...
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(); } }
+++
Ju
Me revoilà
Je veux mêttre cet animation dans un applet
Au lieu de mêttre
Je devrais mettre
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;
Ais je raison ou pas?
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;
A+
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 :
Voila
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public void init() { initMe(); this.setContentPane(label); }
+++
Ju
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.
Je vous signal que je travail avec Java 1.5.TextField anim = new TextField(20);
Voici le code:
Merci
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(); }
Cordialement
A bientôt
Bonsoir
Personne n'a d'idée.
Cordialement
A bientôt
Bonjour tout le monde
Je ne comprend pas ce que tu dis sozie9372.
A +
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
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
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); }
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
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()); }
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).
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(); } };
Voila...
+++
Ju
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.
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
Bonsoir tout le monde
Je vous remercie, je vais essayer.
Je vais m'amuser avec les if.
Merci
Cordialement
A bientôt
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.
Par rapport au code ci-dessus, pourriez vous me dire si il est correcte.
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()); }
Voici le code de la class animaton.
Voici l'erreur que me sort javac
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){ } } }
Pourriez vous svp, m'aider à corriger mes erreur.
animation.java:21: illegal start of expression
private int initMe()
^
animation.java:56: ';' expected
^
2 errors
Merci
Cordialement
A bientôt
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]
Partager