Probleme java urgent

nico38000 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
choubaka Messages postés 39442 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
Ceci est mon premier post sur un forum donc j'espere bien m y prendre.
Voila je realise une action en java pour mon bts et j ai un souci qui me bloque(je precise je débute).
J'ai dans une fenetre une zone de saisie(JTextField) et un bouton "ok" et je ve que quand j'appuis sur ok, le programme recupere et stock dans une variable ce qu il y a dans la zone de texte.J'ai essayé avec getText() mon objet JTextField n est pas reconnu.
Je vous joint le code correspondant:

import javax.swing.JPanel;
import javax.swing.JTextField;

import java.awt.*;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.GridLayout;
import javax.swing.JPanel;
import javax.swing.*;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;

import javax.swing.*;
import java.awt.event.*;
import javax.swing.*;

import java.awt.*; //jdk1.02

public class temp extends supfenetre { //supfenetre classe créant une JFrame

public temp(){
setSize(300,200);
JPanel panneau = new JPanel();
GridLayout gl = new GridLayout(7, 1);
panneau.setLayout(gl);
setContentPane(panneau);
JTextField mpas = new JTextField ();
mpas.addActionListener(this);
panneau.add(mpas);
JButton b = new JButton("ok");
b.addActionListener(this);
panneau.add(b);

}

public void actionPerformed(ActionEvent evt) {

if (evt.getActionCommand().equals("ok"))
{
String op;
op=mpas.getText();
}

}
}

Si quelqu'un à la réponse cela m'aiderait beaucoup car je suis très pressé.
Merci d'avance.
A voir également:

3 réponses

Satrialien Messages postés 52 Date d'inscription   Statut Membre Dernière intervention   13
 
Bonjour,

le problème vient de la visibilité de ta variable "mpas". Tu la déclares dans ton constructeur, donc elle n'est visible qu'à l'intérieur de celui-ci. C'est pour ça que ça ne compile pas. Déclares la en tant que variable de classe, et laisses l'initialisation dans le constructeur, et ça devrait marcher.

public class temp extends supfenetre
{
JTextField mpas = null;

public temp()
{
....
JTextField mpas = new JTextField ();
....
}

public void actionPerformed(ActionEvent evt)
{
if (evt.getActionCommand().equals("ok"))
{
String op;
op=mpas.getText();
System.out.println("Valeur recuperee : "+op);
}
}

}

Bon courage
Aurélien
0
nico38000 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   2
 
Merci beaucoup Aurélien j'ai compris et c est bon maintenant ca passe.

Je ne veux pas abuser mais j'ai encore une autre question, au cours de mon application je dois transformer une chaine en entier, ce que je fais avec cette méthode :

int i=Integer.valueOf(nom de ma TextField).intValue();

Et je voudrais savoir si il existe la meme chose pour retransformer mon entier en String pour l'afficher dans un JTextField.
Voila merci beaucoup.
Nico
0
choubaka Messages postés 39442 Date d'inscription   Statut Modérateur Dernière intervention   2 105
 
salut

int monEntier = 23 ;

String monString = ""+ monEntier ;

JTextField monJTextField = new JTextField (monString);


0
nico38000 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   2
 
Merci pour l info, ca me debloque et permet d avancer plus vite!! :)
Nico
0
choubaka Messages postés 39442 Date d'inscription   Statut Modérateur Dernière intervention   2 105
 
cool
0