Afficher une TextArea quand on clique sur un bouton

Résolu
Goozisan Messages postés 8 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 26 novembre 2006 - 21 nov. 2006 à 22:44
Goozisan Messages postés 8 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 26 novembre 2006 - 26 nov. 2006 à 20:39
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

Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
22 nov. 2006 à 00:24
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 ();
}
3
Goozisan Messages postés 8 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 26 novembre 2006
26 nov. 2006 à 20:39
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
3
Goozisan Messages postés 8 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 26 novembre 2006
22 nov. 2006 à 17:28
Merci pour ta réponse. Je vais essayer ça
0
Goozisan Messages postés 8 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 26 novembre 2006
22 nov. 2006 à 17:51
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...
0
Rejoignez-nous