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

Agents de placement/Fenêtres Java Discussion :

Recuperer les données entré dans JTextField vers Dans un autre JFrame


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre régulier
    Homme Profil pro
    Recherches en Informatique
    Inscrit en
    Juillet 2013
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Recherches en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 60
    Points : 72
    Points
    72
    Par défaut Recuperer les données entré dans JTextField vers Dans un autre JFrame
    Bonjour à tous, j'ai un petit souci qui est ceci:
    J'ai un JFrame avec 2 JTextField dans la que l'utilisateur doit entrer certains données (cela du clavier), e lorsqu'il valide en cliquant sur bouton "OK", une autre JFrame s'ouvre avec les données affichés dessus dans un JLabel ou sur un JTextField.

    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
    65
    66
     
    ...
    public class Test extends JFrame implements ActionListener{
     
    	private JPanel contentPane;
    	private static JTextField textField;
    	private JButton btnOk;
     
    	/**
             * Launch the application.
             */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					Test frame = new Test();
    					frame.setVisible(true);
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
    	// Le getter
    	public static JTextField gettextField(){
    		return textField;
    	}
     
    	/**
             * Create the frame.
             */
    	public Test() {
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setBounds(100, 100, 450, 300);
    		contentPane = new JPanel();
    		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    		setContentPane(contentPane);
    		contentPane.setLayout(null);
     
    		JPanel panel = new JPanel();
    		panel.setBackground(Color.WHITE);
    		panel.setBounds(12, 12, 426, 248);
    		contentPane.add(panel);
    		panel.setLayout(null);
     
    		textField = new JTextField();
    		textField.setBounds(12, 42, 130, 29);
    		panel.add(textField);
    		textField.setColumns(10);
     
    		btnOk = new JButton("OK");
    		btnOk.setBounds(12, 134, 117, 25);
    		panel.add(btnOk);
     
    	}
    	@Override
    	public void actionPerformed(ActionEvent e) {
    		Object action = e.getSource();
    		if(action == btnOk){
    			//Recuperer la valeur entrer dans JTextField
    			String V_jtextfield = textField.getText();
    			Test2 test2 = new Test2();
    			test2.setVisible(true);
    		}
    	}
    }
    Maintenant dans le JFrame Test2
    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
     
    ...
    public class Test2 extends JFrame {
     
    	private JPanel contentPane;
    	private static JTextField textField2;
    	private JButton btnOk;
     
    	/**
             * Launch the application.
             */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					Test2 frame = new Test2();
    					frame.setVisible(true);
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
    	// Le getter
    	public static JTextField gettextField2(){
    		return textField2;
    	}
     
    	/**
             * Create the frame.
             */
    	public Test2() {
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setBounds(100, 100, 450, 300);
    		contentPane = new JPanel();
    		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    		setContentPane(contentPane);
    		contentPane.setLayout(null);
     
    		JPanel panel = new JPanel();
    		panel.setBackground(Color.WHITE);
    		panel.setBounds(12, 12, 426, 248);
    		contentPane.add(panel);
    		panel.setLayout(null);
     
     
    		textField2 = new JTextField();
    		textField2.setBounds(12, 42, 130, 29);
    		panel.add(textField2);
    		textField2.setColumns(10);
     
     
    		btnOk = new JButton("OK");
    		btnOk.setBounds(12, 134, 117, 25);
    		panel.add(btnOk);
     
    		// Afficher la valeur de JTextField du Frame Test dans JTextField du Test2
    		Test.gettextField().setText(gettextField2().getText());
     
    	}
    }
    Malgré je sais pas quoi faire, car ça ne marche pas. Aidez moi stp. Merci

  2. #2
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 13
    Points : 100
    Points
    100
    Par défaut
    Dans ta classe test2, tu peux avoir 2 variables string que tu passe dans le constructeur ou par des methodes de set au moment de l'instanciation de test2 dans test.

    Concrètement dans Test:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public void actionPerformed(ActionEvent e) {
    		Object action = e.getSource();
    		if(action == btnOk){
    			//Recuperer la valeur entrer dans JTextField
    			String V_jtextfield = textField.getText();
    			Test2 test2 = new Test2();
                             test2.setValeur(textfield.getText());
    			test2.setVisible(true);
    		}
    }
    Et dans test2, tu déclare à l'interieur de la classe une variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private String valeur = "";
    Et tu fais un setter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public void setValeur(String str){
      this.valeur = str;
    }
    Et dans test2, t'y as accès facilement

    Si c'est adapté tu peux aussi faire passer cette valeur directement par le constructeur.


    Par contre je ne comprend pas l’intérêt du main dans test2, logiquement tu pourrais faire le lancement de la fenêtre dans le constructeur ou dans une fonction à part si c'est l'instance de test qui doit lancer test2, j'ai du mal à voir la logique derrière.

  3. #3
    Membre régulier
    Homme Profil pro
    Recherches en Informatique
    Inscrit en
    Juillet 2013
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Recherches en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 60
    Points : 72
    Points
    72
    Par défaut
    Merci bcp harusame
    J'ai trouvé la solution, peut être c n'est pas la plus optimal, mais ça me vas

    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
     
    public void actionPerformed(ActionEvent arg0) {
    		// TODO Auto-generated method stub
    		Object action = arg0.getSource();
    		if(action == btnOk){
    			if(!textField.getText().isEmpty()){
    				test2 = new BTS();
    				test2.setLocationRelativeTo(null);
    				test2.setVisible(true);
    				test2.setResizable(false);
    			}else{
    				test2.setLocationRelativeTo(null);
    				test2.setVisible(true);
    				test2.setResizable(false);
    			}
                            // J'ai créer une méthode qui envoie le text de JTextField du Test ver Test2
    			test2.sendword(this, textField.getText());
    		}
    Et dans Test2 j'ai juste fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            private Test texts;
    	private static JTextField textField2;
            ...
     
          public void sendword(Test testtt, String nom){
    		textField2.setText(nom);
    	}
    Et voila ça marcher.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. recuperer les données d´une Liste dans ma Jsp
    Par makohsarah dans le forum Struts 1
    Réponses: 1
    Dernier message: 26/05/2008, 11h18
  2. recuperer les données access dans une listbox
    Par inforlab dans le forum Windows Forms
    Réponses: 4
    Dernier message: 03/05/2007, 22h09
  3. Recuperer les données saisie dans un formulaire
    Par hunzi dans le forum XMLRAD
    Réponses: 3
    Dernier message: 29/08/2006, 15h22
  4. [Debutant]recupere les données d'un requete dans le form
    Par [thebadskull] dans le forum Access
    Réponses: 1
    Dernier message: 04/05/2006, 10h53
  5. Réponses: 3
    Dernier message: 28/12/2005, 15h29

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