J'essaye d'ajouter un délai de 2 secondes entre chaque lettre qui est tapée dans une zone de texte avant qu'elle soit imprimée/affichée sur une autre zone de texte.Comment puis-je obtenir un délai d'impression de 2 secondes dans une zone de texte entre chaque lettre/touche enfoncée dans une autre zone de texte?
Je l'ai utilisé deux classes:
- Un pour une interface graphique appelée Printdelay
- Un pour le fil, appelé TwoSecondDelay
Tout fonctionne bien sauf pour l'exécution du fil.
Voici le code pour l'interface graphique:
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
public class PrintDelay extends javax.swing.JFrame implements KeyListener{
int name;
JTextArea server = new JTextArea (10, 20);
JTextArea client = new JTextArea (10, 20);
public PrintDelay() {
super ("Typing...");
setSize (650, 220);
setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
server.addKeyListener (this);
panel.add (server);
panel.add (client);
add(panel);
setVisible (true);
}
public static void main (String... args) {
new PrintDelay();
}
@Override
public void keyTyped(KeyEvent e)
{
}
@Override
public void keyPressed(KeyEvent e)
{
}
@Override
public void keyReleased(KeyEvent e)
{
new TwoSecondDelay (Integer.toString(name));
name++;
client.setText(server.getText());
}
}
Voici le code pour le TwoSecondDelay:
public class TwoSecondDelay implements Runnable{
String name;
Thread t;
TwoSecondDelay (String threadname) {
name = threadname;
t = new Thread (this, name);
t.start();
}
@Override
public void run() {
try {
Thread.sleep(2000);
}
catch (InterruptedException e) {
}
}
}
De plus, les cours sont dans leurs propres fichiers séparés.
Quelle est votre question? – QBrute
Comment puis-je obtenir un délai d'impression de 2 secondes dans une zone de texte entre chaque lettre/touche enfoncée dans une autre zone de texte? – Yeezus