Afficher une TextArea quand on clique sur un bouton [Résolu]

Signaler
Messages postés
8
Date d'inscription
mercredi 27 septembre 2006
Statut
Membre
Dernière intervention
26 novembre 2006
-
Messages postés
8
Date d'inscription
mercredi 27 septembre 2006
Statut
Membre
Dernière intervention
26 novembre 2006
-
Bonjour,

N'ayant pas trouvé une explication à mon problème, je me permets donc de poster ma question.

En fait, j'essaie d'afficher une TextArea, en cliquant sur un bouton, dans un zone située au dessous d'un séparateur SplitPane. J'arrive déjà à afficher deux images en cliquant sur leur bouton respectif mais ça coince pour la zone texte. Voilà la partie du code qui pose problème:

--------------------------------------
public void actionPerformed(ActionEvent e)
    {

        Object o = e.getSource();

        if(o == btn1)
            derouleur.setViewportView(img1);

        else if(o == btn2)
            derouleur.setViewportView(img2);

        else if(o == btn3)
            derouleur.getViewport().add(zoneTexte);

    }
-------------------------
Si ça peut aider pour mieux comprendre, voici le code qui définit ma zone texte:

panScroll = new JPanel();
derouleur = new JScrollPane();
JTextArea zoneTexte = new JTextArea();

panScroll.setLayout(null);                                                 //Panel pour dérouleur
derouleur.setBounds(new Rectangle(393,208));           
zoneTexte.setText("Zone Texte");
panScroll.add(derouleur);

En fait quand j'écris derouleur.getViewport().add(zoneTexte); après panScroll.add(derouleur); ça affiche bien ma zone. Mais je n'arrive pas à créer l'évènement cliquer bouton -> afficher... Qu'en pensez-vous?

Merci pour vos conseils.

4 réponses

Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
36
Salut:

1. Façon 1 :

zoneText = new JTextArea ();
zoneText.setVisible (false);
getContentPane ().add (zoneText);

// ...

if (e.getSource () == btn3)
    zoneText.setVisible (true);

2. Façon 2:

if (e.getSource () == btn3) {
    getContentPane ().add (zoneText);
    getContentPane ().validate ();
}
Messages postés
8
Date d'inscription
mercredi 27 septembre 2006
Statut
Membre
Dernière intervention
26 novembre 2006

Problème résolu!
 
En fait s'était une erreur avec mon layout. Il n'était pas bien adapté à mon programme alors j'ai l'ai changé et tout marche

Merci pour votre aide en tout cas
Messages postés
8
Date d'inscription
mercredi 27 septembre 2006
Statut
Membre
Dernière intervention
26 novembre 2006

Merci pour ta réponse. Je vais essayer ça
Messages postés
8
Date d'inscription
mercredi 27 septembre 2006
Statut
Membre
Dernière intervention
26 novembre 2006

J'ai adapté ta réponse à mon code, mais ça n'a pas marché. J'ai donc essayé différentes combinaisons, mais rien n'y fait...

Par exemple, j'ai remplacé getContentPane () par derouleur, mais aussi par panScroll, sans résultat.

Je m'y suis peut-être mal prise. En tout cas, quand j'essaie d'appuyer sur le bouton correspondant, ça affiche pleins de lignes dans la fenêtre de commande...