Bonjour a tous!
J'aurai besoin de votre aide pour un petit problème.
Voilà,j'ai un JTextArea dans lequel j'écris du text grace au clavier.
Lorsque j'appuis sur Entrée, je fais quelques opérations sur le text
puis je l'efface grace à la methode setText("") ou setText(null).
Le resultat est que le texte s'efface puis un retour à la ligne est effectué.
Ma question est donc: comment empécher ce retour a la ligne?
(Le problème vient de l'appui sur la touche Entrée car lorsque j'appelle la methode setText() après avoir appuyer sur un bouton, le résultat obtenu est celui que je cherche. Je crois que l'évènement est capturé, les opérations sont effectuées puis l'évènement est transmis au JTextArea qui effectue donc un saut de ligne.)
Voici le code résumant mon problème:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
public class AireText extends JFrame implements KeyListener,ActionListener{
private static final long serialVersionUID = 1L;
JTextArea textAir;
JButton suppr;
public AireText(){
super();
setBounds(0,0,200,200);
textAir=new JTextArea(7,10);
suppr=new JButton("Supprimer");
textAir.addKeyListener(this);
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel pane=new JPanel();
pane.add(textAir);
pane.add(suppr);
suppr.addActionListener(this);
setContentPane(pane);
setVisible(true);
}
public void keyPressed(KeyEvent evt) {
int source=evt.getKeyCode();
if (source==10)//10 est le KeyCode de la touche "entrée".
textAir.setText(null);
}
public void actionPerformed(ActionEvent arg0) {
textAir.setText("");
textAir.grabFocus();
}
public static void main(String[] arg){
new AireText();
}
public void keyTyped(KeyEvent arg0) {}
public void keyReleased(KeyEvent arg0) {}
}
Partager