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

Composants Java Discussion :

Problème avec JTextArea


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2012
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Mai 2012
    Messages : 29
    Par défaut Problème avec JTextArea
    Salut le monde,

    Comment pourrais-je récupérer des données émise d'un JButton vers le JTextArea?
    J'ai fait des recherches un peu partout, malheureusement je n'ai pas trouvé mon bonheur.

    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
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    import java.awt.event.*;
    
    import javax.swing.*;
    
    @SuppressWarnings("serial")
    public class Fenetre extends JFrame implements ActionListener {
    
    	private JButton Btn1, Btn2, Btn3;
    	private JTextField JTF1;
    	private JLabel JLTexte1, JL1, JL2;
    	private JTextArea JTA1;
    	
    	public Fenetre(){
    		super("Titre : ");
    
    		setSize(275, 500);
    		setLocation(500, 0);
    		setVisible(true);
    		setAlwaysOnTop(false);
    		setResizable(false);
    		setLayout(null);
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		///////////////////////////////////////////////
    		
    
    //Les labels		
    		JL1 = new JLabel("Label N¤ 1");
    		JL1.setBounds(31, 80, 85, 25);
    		add(JL1);
    		
    		JL2 = new JLabel("Label N¤ 2");
    		JL2.setBounds(171, 80, 85, 25);
    		add(JL2);
    		
    //le JTextField
    		JTF1 = new JTextField("Tapez votre texte ici");
    		JTF1.setBounds(70, 10, 140, 25);
    		add(JTF1);
    		
    //Les boutons		
    		Btn1 = new JButton("Label N¤ 1");
    		Btn1.setBounds(10, 50, 100, 25);
    		Btn1.addActionListener(this); 
    		add(Btn1);
    		
    		Btn2 = new JButton("Label N¤ 2");
    		Btn2.setBounds(140, 50, 120, 25);
    		Btn2.addActionListener(this);
    		add(Btn2);
    		
    		Btn3 = new JButton("TextArea");
    		Btn3.setBounds(10, 120, 250, 25);
    		Btn3.addActionListener(this);
    		add(Btn3);
    		
    //Le JTextArea + Scrollbar		
    		JTextArea JTA1 = new JTextArea();
            JScrollPane scrollbar = new JScrollPane(JTA1);
            scrollbar.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
            scrollbar.setBounds(10, 170, 250, 250);
            add(scrollbar);
    		
    		
    		
    	}
    	
    	public static void main(String[] args) {
    		new Fenetre();
    
    	}
    
    	@Override
    	public void actionPerformed(ActionEvent e) {
    		
    		if(e.getSource() == Btn1){
    			JL1.setText(JTF1.getText());
    		}
    		if(e.getSource() == Btn2){
    			JL2.setText(JTF1.getText());
    		}
    		if(e.getSource() == Btn3){
    			
    			JTA1.append(".");
    		}
    	}
    }
    D'avance merci à ceux qui m'aideront dans mon apprentissage de Java.

  2. #2
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Salut,

    Tu définis ton JTextArea en attribut de classe puis dans la déclaration de ton IHM, tu définis un variable locale qui s'appelle pareil... Donc, ton attribut de classe n'est jamais initialisée.
    Pour corriger cela, il te suffit de modifier ton constructeur Fenetre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    JTA1 = new JTextArea();
    JScrollPane scrollbar = new JScrollPane(JTA1);
    scrollbar.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
    scrollbar.setBounds(10, 170, 250, 250);
    add(scrollbar);
    Voilà, à+
    Gueritarish

  3. #3
    Membre averti
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2012
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Mai 2012
    Messages : 29
    Par défaut
    Salut Gueritarish,
    Pouvez-vous développer plus s'il vous plait, c'est gentil de votre part de jeter une boue à la mer, mais je ne vois pas de corde au bout.

  4. #4
    Membre averti
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2012
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Mai 2012
    Messages : 29
    Par défaut
    J'ai fini par le trouver ce morceau de code qui me manquais pour récupérer les données de mes fameuses JLabel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    		if(e.getSource() == Btn3){
     
    			JTA1.setText(JL1.getText() + " et " + JL2.getText());
     
    		}
    J'aurais une autre question :
    Comment je pourrais sauter de ligne dans JTextArea sans effacer les anciennes données et ainsi de suite.

    D'avance merci.

  5. #5
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Salut,

    Pour reprendre ton exemple précédent, il te suffit de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    JTA1.append(JL1.getText() + " et " + JL2.getText());
    JTA1.append("\n");
    Dans la partie "Escape Sequence" de ce tutoriel, tu as la liste des séquences de caractères à connaître.

    Voilà, à+
    Gueritarish

  6. #6
    Membre averti
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2012
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Mai 2012
    Messages : 29
    Par défaut
    Merci infiniment Gueritarish de ton aide,
    Je me permets d'y mettre une image et de son code final ci-dessous pour faire plus beau.



    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
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    import java.awt.event.*;
     
    import javax.swing.*;
     
    @SuppressWarnings("serial")
    public class Fenetre extends JFrame implements ActionListener {
     
    	private JButton Btn1, Btn2, Btn3;
    	private JTextField JTF1;
    	private JLabel JLTexte1, JL1, JL2;
    	private JTextArea JTA1;
     
    	public Fenetre(){
    		super("Titre : ");
     
    		setSize(275, 500);
    		setLocation(500, 0);
    		setVisible(true);
    		setAlwaysOnTop(false);
    		setResizable(false);
    		setLayout(null);
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		///////////////////////////////////////////////
     
     
    //Les labels		
    		JL1 = new JLabel("Chien");
    		JL1.setBounds(31, 80, 85, 25);
    		add(JL1);
     
    		JL2 = new JLabel("Chat");
    		JL2.setBounds(171, 80, 85, 25);
    		add(JL2);
     
    //le JTextField
    		JTF1 = new JTextField("Tapez votre texte ici");
    		JTF1.setBounds(70, 10, 140, 25);
    		add(JTF1);
     
    //Les boutons		
    		Btn1 = new JButton("Label N¤ 1");
    		Btn1.setBounds(10, 50, 100, 25);
    		Btn1.addActionListener(this); 
    		add(Btn1);
     
    		Btn2 = new JButton("Label N¤ 2");
    		Btn2.setBounds(140, 50, 120, 25);
    		Btn2.addActionListener(this);
    		add(Btn2);
     
    		Btn3 = new JButton("TextArea");
    		Btn3.setBounds(10, 120, 250, 25);
    		Btn3.addActionListener(this);
    		add(Btn3);
     
    //Le JTextArea + Scrollbar		
    		JTA1 = new JTextArea();
            JScrollPane scrollbar = new JScrollPane(JTA1);
            scrollbar.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
            scrollbar.setBounds(10, 170, 250, 250);
            add(scrollbar);
     
     
     
    	}
     
    	public static void main(String[] args) {
    		new Fenetre();
     
    	}
     
    	@Override
    	public void actionPerformed(ActionEvent e) {
     
    		if(e.getSource() == Btn1){
    			JL1.setText(JTF1.getText());
    		}
    		if(e.getSource() == Btn2){
    			JL2.setText(JTF1.getText());
    		}
    		if(e.getSource() == Btn3){
     
    			JTA1.append(JL1.getText() + " et " + JL2.getText());
    			JTA1.append("\n");
    		}
    	}
    }

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 09/03/2012, 14h01
  2. probléme avec un JTextArea
    Par myoud dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 19/05/2009, 21h19
  3. Problème avec un JTextArea et un JPanel
    Par Spinoza23 dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 01/02/2007, 16h33
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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