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 :

[JOptionPane] afficher un texte multiligne


Sujet :

Composants Java

  1. #1
    Membre habitué

    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2020
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Février 2020
    Messages : 167
    Points : 162
    Points
    162
    Par défaut [JOptionPane] afficher un texte multiligne
    Bonjour à tous, j'ai réalisé un menu "Aide" avec deux items : "Utilisation" et "A propos".

    Nom : à_propos.png
Affichages : 205
Taille : 11,8 Ko

    Au click, je souhaiterais afficher un texte multilignes, qui s'allongera surement au fil de mon étude, et qui doit être agréable à survoler, comme en général, un menu "aide"sur un logiciel.

    Mon problème est le suivant :

    j'ai créé un JTextArea, pour avoir un affichage un peu structuré. Cependant, comme je souhaite l'afficher au clic, et qu'il disparaisse à la fermeture du menu, j'ai utilisé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // MESSAGE
    		 public static JTextArea msg_à_propos = new JTextArea();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Var.msg_à_propos.append("  voila la première phrase   ");
    	Var.msg_à_propos.append("   voila la deuxième phrase   ");
    	Var.msg_à_propos.append("   voila la troisième phrase   ");
    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
    //  3 "Aide" 
    			        JMenu aide = new JMenu( "Aide" );
     
    			     // ITEM "Utilisation"
    			        JMenuItem utilisation = new JMenuItem( "Utilisation" );
    			        utilisation.setIcon( new ImageIcon( "icons/utilisation.ico" ) );
    			        aide.add(utilisation);
     
    			      // SEPARATION
    			        aide.addSeparator();
     
    			       // "A propos.."
    			        JMenuItem àPropos = new JMenuItem( "A propos..." );
    			        àPropos.setIcon( new ImageIcon( "icons/àPropos.ico" ) );
     
    					        àPropos.addActionListener( new ActionListener() {
     
    								@Override
    								public void actionPerformed(ActionEvent e) {
    									JOptionPane.showInternalMessageDialog(null, Var.msg_à_propos);
     
    								}
     
    					        });// fin de la ligne 119
     
     
    			        aide.add(àPropos);	
     
    			   this.add(aide);
    Avantage : j'ai bien la main sur la fermeture après la lecture et je peux reprendre l'utilisation du logiciel.
    Inconvénient : les phrases sont mises à la suite, les unes après les autres, et ce n'est pas satisfaisant pour la présentation.

    J'ai essayé d'ajouter directement mon JTextArea au clic sur l'item, mais ensuite, l'affichage persiste quand le menu est fermé, puisque l'objet a été ajouté à la fenêtre principale et persiste donc.
    Je ne pense pas que cela soit la bonne technique.

    Ma question est donc :
    Quelle est la technique la plus efficace pour, au clic sur une item de sous-menu, afficher un texte organisé, avec mises à la ligne et sauts de lignes respectés, qui disparaisse à la fermeture de l'item qui avait été cliquée au début?..

    Merci pour vos orientations éventuelles...

  2. #2
    Membre habitué

    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2020
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Février 2020
    Messages : 167
    Points : 162
    Points
    162
    Par défaut "\n" retour ligne, évident...
    Je crois qu'il faut que je fasse une pause, avec un "\n", ca va déjà mieux pour revenir à ligne après chaque phrase....

    Cela dit, si vous avez des idées ou des critiques, n'hésitez pas

  3. #3
    Membre averti
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mai 2020
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mai 2020
    Messages : 325
    Points : 436
    Points
    436
    Par défaut
    Bonjour,

    Vous pouvez aussi, il me semble, passer un tableau d'élements à afficher.
    Parameters:
    ...

    parentComponent
    ...
    message
    A descriptive message to be placed in the dialog box. In the most common usage, message is just a String or String constant. However, the type of this parameter is actually Object. Its interpretation depends on its type:

    Object[]
    An array of objects is interpreted as a series of messages
    (one per object) arranged in a vertical stack. The interpretation is recursive -- each object in the array is interpreted according to its type.
    ...

    -- https://docs.oracle.com/javase/7/doc...ptionPane.html

  4. #4
    Membre habitué

    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2020
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Février 2020
    Messages : 167
    Points : 162
    Points
    162
    Par défaut merci gervais.b
    bonjour et merci gervais.b,

    en effet, j'ai pu mettre en paramètre de la fenêtre de message, un tableau de chaines qui s'affichent bien les unes sous les autres.
    Cela me permet une présentation plus lisible et acceptable pour les textes à rallonge.

    A bientôt certainement, pour d'autres difficultés....

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

Discussions similaires

  1. Comment afficher du texte avec swing ?
    Par meda dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 27/10/2004, 14h35
  2. [TabControl] Afficher du texte en transparence
    Par Benjamin GAGNEUX dans le forum Composants VCL
    Réponses: 2
    Dernier message: 21/10/2004, 23h01
  3. Afficher du texte en couleur sous Borland C++ 4.02
    Par Cthulhu 22 dans le forum Autres éditeurs
    Réponses: 7
    Dernier message: 18/11/2003, 00h53
  4. afficher du texte
    Par Mau dans le forum OpenGL
    Réponses: 10
    Dernier message: 24/06/2003, 15h31
  5. Réponses: 2
    Dernier message: 10/06/2002, 11h03

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