IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Visibilité JTextField par getText()


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 39
    Par défaut Visibilité JTextField par getText()
    Bonjour

    je suis entrain d'écrire un programme conçu pour un écran tactile, pour ce faire, je dois simuler un clavier sur l'écran.
    mon problème se situe sur l'affichage du caractère "saisi" dans un JTextField.

    l'erreur est sur la récupération par getText() , je ne sais pas comment faire.
    je pense que la valeur n'est pas visible de là ou je suis...

    merci de votre aide
    bruno

    PS j'ai un peu de mal avec la visibilité. vous vous en seriez douté
    j'ai d'autres petits soucis dans ce code, mais chaque chose en son temps.


    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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
    package SaisieChiffres;
     
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    /**
    * dialogue saisie du mot de passe numérique
    */
    public class Passe extends JDialog {
    	public Passe() {
    		fldSaisieMdp mdp = new fldSaisieMdp();
    		pnlClavierNumerique clavier = new pnlClavierNumerique();
     
    		this.add(mdp, new BorderLayout().NORTH);
    		this.add(clavier, new BorderLayout().CENTER);
    		this.setSize(400, 400);
    		this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
    		this.setVisible(true);
    	}
    }
     
    /**
    * Champ de saisie mot de passe
    */
    class fldSaisieMdp extends JTextField {
    	public fldSaisieMdp() {
    		this.setHorizontalAlignment(RIGHT);
    	}
    }
    /**
    * Clavier numérique virtuel
    */
    class pnlClavierNumerique extends JPanel {
    	String[] tab_string = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "", "0", "C" };
    	JButton[] tab_button = new JButton[tab_string.length];
     
    	pnlClavierNumerique() {
    		GridLayout pos = new GridLayout(4, 3);
    		this.setLayout(pos);
    		pos.setHgap(10);
    		pos.setVgap(15);
    		for (int i = 0; i < tab_string.length; i++) {
    			tab_button[i] = new JButton(tab_string[i]);
    			// tab_button[i].setIcon(new ImageIcon("c:/images/generique.gif"));
    			this.add(tab_button[i]);
    			tab_button[i].addActionListener(new ChiffreListener());
    		}
    	}
    }
     
    /**
    * Affiche le chiffre saisi dans le champ
    */
    class ChiffreListener implements ActionListener {
     
    	public void actionPerformed(ActionEvent e) {
    		// On affiche le chiffre en plus dans le label
    		String str = ((JButton) e.getSource()).getText();
    // l'erreur est ici 		
    		String xx = mdp.getText();
     
    	}
    }

  2. #2
    Membre éclairé Avatar de Chatbour
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 431
    Par défaut
    Salut,

    pour illustrer ton problème, j'ai fait cet exemple.. et ça fonctionne :

    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
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
     
    class Fenetre extends JFrame implements ActionListener {
    	private JButton bouton = new JButton("OK");
     
    	public Fenetre() {
    		this.getContentPane().add(bouton, BorderLayout.SOUTH);
     
    		bouton.addActionListener(this);
     
    		this.setSize(300, 200);
    		this.setLocationRelativeTo(null);
    		this.setVisible(true);
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	}
     
    	public void actionPerformed(ActionEvent e) {
    		String str = ((JButton)e.getSource()).getText();
    		JOptionPane.showMessageDialog(null, str);
    	}
     
    	public static void main(String[] args) {
    		new Fenetre();
     
    	}
    }
    pourvu que ça t'aide,
    Cordialement..

  3. #3
    vic
    vic est déconnecté
    Membre chevronné

    Profil pro
    Inscrit en
    Août 2002
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 431
    Par défaut
    Hello,

    je n'ai pas testé ton code mais apparemment tu essaie d'accéder à une variable déclarée dans le constructeur depuis une autre méthode. Il faut que tu déclares ta variable comme field (variable de classe).

    Règles de visibilité utilisée ici :
    une variable déclarée dans une méthode n'est visible que dans cette méthode
    une variable déclarée au niveau de la classe sera visible pour toutes les méthode de la classe et des classes internes non statiques

    Je te conseille de t'informer sur le sujet car c'est vraiment un des points fondamentaux du langage.

Discussions similaires

  1. Remplacer des JTextField Par des JComboBox
    Par Floriang33 dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 16/11/2009, 10h37
  2. Accés à un JTextField par son nom
    Par 8itit dans le forum Composants
    Réponses: 1
    Dernier message: 17/07/2009, 09h39
  3. Limiter un JTextField par une regexp
    Par cledesol dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 23/04/2009, 11h44
  4. [JTextfield] methode getText()
    Par e1lauren dans le forum Langage
    Réponses: 4
    Dernier message: 06/05/2006, 12h33
  5. [JTextField] Probleme insoluble : getText()
    Par Sarrus dans le forum Composants
    Réponses: 7
    Dernier message: 05/07/2005, 14h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo