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

2D Java Discussion :

"Dessiner" du contenu HTML selon une Shape (Rectangle2D)


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut "Dessiner" du contenu HTML selon une Shape (Rectangle2D)
    Hello,

    J'ai un composant personnalisé donc je dessine le contenu moi-même. Seulement on m'a demandé d'afficher des informations sous forme d'image et je pense que l'html répondrait.

    Exemple de contenu :

    8:00 - 9:00
    Bla bla
    Content
    Pas content
    60 min
    Avant je n'avais pas les icônes donc facile, je dessinais le texte ligne par ligne avec une méthode perso pour les sauts de ligne.

    J'ai naïvement essayé ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    @Override
    protected void paintComponent(Graphics g) {
    	Graphics2D g2D = (Graphics2D) g;
    	try {
    		HTMLEditorKit kit = new HTMLEditorKit();
    		Document doc = kit.createDefaultDocument();
    		doc.insertString(0, "<html><b>Coucou <font color=red>moi</font> !</b><br />Ça va ?</html>", null);
    		View view = kit.getViewFactory().create(doc.getDefaultRootElement());
    		view.paint(g2D, new java.awt.Rectangle(0, 0, getWidth() - 1, getHeight() - 3));
    	} catch (BadLocationException e) {
    		// TODO Auto-generated catch block
    	}
    }
    dans ma classe qui étend JComponent mais ça ne fonctionne pas (NPE). Je dois sûrement mal faire quelque chose.

    Si quelqu'un a la solution miracle, je lui en serais reconnaissant.
    Merci

    Natha

  2. #2
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    Bon comme ça ça me donne quelque chose :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	JEditorPane editorPane = new JEditorPane();
    	editorPane.setContentType("text/html");
    	editorPane.setEditable(false);
    	editorPane.setText("<html><b>Coucou <font color=red>moi</font> !</b><br />Ça va ?</html>");
    	editorPane.setBounds(new java.awt.Rectangle(0, 0, getWidth() - 1, getHeight() - 3));
    	editorPane.paint(g2D);
    Oserais-je espérer mieux ? (oui bien sûr je vais mettre le JEditorPane en variable d'instance pour ne pas le recréer à chaque fois mais c'est quand même lourd).

Discussions similaires

  1. [wd12] Affichage contenu table selon une valeur
    Par Xsara 167 cv dans le forum WinDev
    Réponses: 6
    Dernier message: 15/04/2008, 08h43
  2. [Système] Récupérer le contenu HTML d'une page Web
    Par zah.hicham dans le forum Langage
    Réponses: 7
    Dernier message: 13/02/2008, 03h53
  3. [XSLT] Afficher du contenu HTML dans une feuille XSL
    Par krapno dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 24/10/2006, 14h07

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