J'ai un JTextField vide que l'utilisateur doit modifier avec un nombre entier. Cependant, même une fois que le JTextFiled a été rempli avec un entier, quand je vais obtenir la chaîne de ce JTextField, la chaîne affiche "" (-> empty). Comment sauvegarder la nouvelle valeur du champ? que devrais-je faire? Voici le problème:Comment prendre la valeur d'un JTextField après avoir été modifié par l'utilisateur [java]
//Class where JTextField is initialized:
javax.swing.JTextField tMax = new javax.swing.JTextField();
tMax.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
tMaxKeyTyped(evt);
}
});
private void tMaxKeyTyped(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
char c = evt.getKeyChar();
if(!(Character.isDigit(c) || (c == KeyEvent.VK_BACK_SPACE) || c == KeyEvent.VK_DELETE)) {
getToolkit().beep();
evt.consume();
}
}
public String getTMax() {
String tMaxString = tMax.getText();
return tMaxString;
}
//Class where tMax should be used
//code
private void runBtnActionPerformed(java.awt.event.ActionEvent evt) {
Panel class1 = new Panel();
String tMaxString = class1.getTMax();
System.out.println(tMaxString);
Quand je lance le programme et je clique sur le Run Botton un Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: ""
. Que puis-je faire pour enregistrer le fichier JTextField modifié?
Merci beaucoup.
KeyListener n'est pas ce que vous voulez. Utilisez un ActionListener. Tutoriel: https://docs.oracle.com/javase/tutorial/uiswing/components/button.html – markspace
@Pino N'importe quelle raison pour laquelle vous n'importiez pas les paquets comme 'java.awt',' javax.swing'? Vos codes sont un peu difficiles à lire. – user3437460