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

AWT/Swing Java Discussion :

Documentation de qques pages de texte, en fenêtre pop-up


Sujet :

AWT/Swing Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 263
    Points : 121
    Points
    121
    Par défaut Documentation de qques pages de texte, en fenêtre pop-up
    Bonjour.

    Je termine les 10 derniers pourcents d'une application écrite en Java et Swing.
    Quels composants Swing ou Java devrais-je approfondir pour réaliser le besoin suivant, svp ?

    Un document de ± 5 pages d'explication devrait être appelable lorsque le bouton 'Expl' se trouvant sur la plupart des panneaux à onglet ("tabbedPane") de mon application est actionné. Je pense à un JOptionPane de type 'message', mais
    - cette classe n'affiche pas des textes dépassant la 30-taine de caractères. Mon application nécessite, pour chaque explication (= page), une 100-taine de mots.
    - cette classe ne permet pas de contenir plusieurs pages et de passer de l'une à l'autre.

    Le texte des pages est à afficher en lecture uniquement. pas de besoin d'éditer le contenu (ni modification, ni capture, ...).
    JLabel permet l'affichage de combien de lignes et caractères ?
    Le texte des pages ne nécessite pas d'artifice de présentation très avancé, tel qu'indentation, caractères de grandeurs ou styles différents ... --> Simple texte ou, si ce n'est pas trop lourd à implémenter, HTML.

    Lorsque l'un bouton 'Expl' est actionné, un cadre indépendant (pop-up JFrame) apparaîtrait, bloquant les commandes des composants encore découverts du cadre principal de l'application.

    JFrame contenant un JTabbedPane et un bouton 'Retour' ?
    Chaque panneau du JtabbedPane contenant JPanel ?
    JPanel contenant Document ?

    Que me conseillez-vous ?
    Connaîtriez-vous des URL où l'on peut trouver un exemple de code ?
    Un besoin assez logique, que je ne suis probablement pas le seul à avoir ressenti, non ?
    Merci d'avance.

    P.S.: Wow ! La nouvelle apparence de cette application de forum, depuis quelques jours. Bravo.
    "Ah oui ! Juste encore cette toute dernière petite question ..." (Columbo - Peter Falk)

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    En fait, un JOptionPane permet d'afficher bien plus de 30 caractères : le paramètre message est du type Object, et on a l'habitude de passer un String, mais on peut passer un composant SWING. Comme un JSCrollPane contenant un JTextPane, par exemple. Il y a juste un petit problème de layout horizontal qui se règle par un setPreferredSize (ou par un JPanel avec un layout plus évolué). Pour la pagination, il n'y a pas de composant tout fait en SWING : il faudra que tu le fasses (pas très difficile, un JSpinner pourrait suffire). Mais peut-être existe-t-il des composants (ou des sources exemple) sur le net.

    Cependant, un JOptionPane ajoute des décorations (icône, bouton ok, ou autre) qui ne sont pas nécessairement utiles : utilises un JDialog modal à la place. En plus, il pourra être redimensionnable, ce qui peut être pratique quand on lit de la doc.

    Pour ce qui est de la présentation, tu peux utiliser un JLabel avec du html (un html simplifié, qui permet de faire quand même déjà pas mal de choses intéressantes pour de la doc, comme l'italique, le souligné, les exposants, les paragraphes, les puces, l'inclusion d'image. Il suffit pour ça que la chaîne qui représente une page de doc commence par "<html>". Si tu utilises un JTextPane, non éditable, le texte pourra être copié en plus, ce qui n'est pas dénuer d'intérêt. Utiliser un JTextPane ou un JLabel est identique en terme de travail, mais le JTextPane supportera un peu plus de html.

    Une autre solution, beaucoup plus intéressante en terme d'approche et de faire carrément un fichier html, stocké localement, et de lancer le navigateur dessus (par la classe DeskTop) : ça peut être pratique de bénéficier des capacités du navigateur pour la consultation (les favoris, les onglets, le zoom (l'accessibilité en général) ...).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 263
    Points : 121
    Points
    121
    Par défaut
    Merci Joël pour tes renseignements bien intéressants.

    Option JOptionPane de type Message
    OK, passer tout mon tabbedPane au lieu d'un String serait donc possible. Et le frame pop-up prendrait automatiquement les dimensions déterminées pour mon 'tabbedPane', je suppose.

    Option JDialog
    Elle m'oblige d'abord à réviser les matières :
    - Using Top-Level Containers
    - How to Make Frames, especially
    - Responding to Window-Closing Events
    Je ne suis donc pas encore prêt à converger vers la solution recherchée. C'est pourtant l'option dans laquelle je m'engage pour l'instant.
    C'est dommage que je n'ai pas trouvé sur la toile un exemple de code pour une version minimale de JDialog modal.

    Merci.
    "Ah oui ! Juste encore cette toute dernière petite question ..." (Columbo - Peter Falk)

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

Discussions similaires

  1. [FLASH 8] Mise en page de texte
    Par touriste13 dans le forum Flash
    Réponses: 1
    Dernier message: 12/05/2006, 09h17
  2. Réactualisation de page + fenêtre pop up
    Par gromit83 dans le forum Langage
    Réponses: 1
    Dernier message: 01/05/2006, 14h04
  3. Réponses: 15
    Dernier message: 02/03/2006, 15h34
  4. [JEditorPane] Mise en page du texte, StyleSheet ?
    Par archadius dans le forum Composants
    Réponses: 15
    Dernier message: 14/09/2005, 17h40
  5. Ouvrir une fenêtre pop up en plus d'une page normale
    Par Satination dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 17/08/2005, 10h28

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