Graphics HTML [Résolu]

Messages postés
845
Date d'inscription
mardi 25 avril 2006
Statut
Membre
Dernière intervention
1 août 2017
- - Dernière réponse : didoux95
Messages postés
845
Date d'inscription
mardi 25 avril 2006
Statut
Membre
Dernière intervention
1 août 2017
- 29 mars 2008 à 20:42
Bonjour à tous .. 

Est ce qu'il est possible d'écrir un code HTML avec un Graphics. Par exemple la chaine "mon texte" écrirait le texte "mon texte" souligné et non la chaine tel qu'elle figure dans la variable (à savoir "mon texte").

merci. 
Afficher la suite 

12 réponses

Meilleure réponse
Messages postés
493
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
15 juillet 2012
7
3
Merci
Tu peus utiliser html dans un JLabel:
new JLabel("<html>mon texte")

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 119 internautes nous ont dit merci ce mois-ci

Commenter la réponse de uhrand
Messages postés
845
Date d'inscription
mardi 25 avril 2006
Statut
Membre
Dernière intervention
1 août 2017
1
3
Merci
Scuse moi. Ca y est. c'est réglé .. (enfin .. j'penses xD)
Je vais créer un JLabel dans lequel je mettrais mon texte codé en HTML. Je récupèrerai ensuite le Graphics de ce JLabel et le désinerais sur la page (après l'avoir personnalisée).

merci .. :o)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 119 internautes nous ont dit merci ce mois-ci

Commenter la réponse de didoux95
Messages postés
493
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
15 juillet 2012
7
3
Merci
Voici encore un petit exemple, pour le cas ou tu aurais besoin:

public class LabelPrintDemo implements Printable {
    private JLabel label;
    LabelPrintDemo() {
        label = new JLabel("<html>Ceci est un JLabel avec texte html.");
        label.setSize(100, 60);
        print();
    }
    public int print(Graphics g, PageFormat pageFormat, int pageIndex) throws PrinterException {
        if (pageIndex > 0) {
            return (NO_SUCH_PAGE);
        } else {
            int x = (int) pageFormat.getImageableX();
            int y = (int) pageFormat.getImageableY();
            g.translate(x, y);
            g.setColor(Color.BLUE);
            g.drawOval(x, y+100, 300, 150);
            g.translate(x + 100, y + 150);//set the position of the JLabel
            label.print(g);//print the JLabel
            return (PAGE_EXISTS);
        }
    }
    private void print() {
        PrinterJob printJob = PrinterJob.getPrinterJob();
        printJob.setPrintable(this);
        try {
            printJob.print();
        } catch (PrinterException pe) {
            System.out.println("Error printing: " + pe);
        }
    }
    public static void main(String[] args) {
        new LabelPrintDemo();
    }
}

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 119 internautes nous ont dit merci ce mois-ci

Commenter la réponse de uhrand
Messages postés
845
Date d'inscription
mardi 25 avril 2006
Statut
Membre
Dernière intervention
1 août 2017
1
0
Merci
Effectivement, on peut l'utliser dans des JLabel (je m'en suis servit pour tester mon code). Mais ma question porte sur est ce qu'on peut se servir de l'HTML avec un Graphics ? (de manière à écrire du texte mit en forme à partir de l' HTML).

merci
Commenter la réponse de didoux95
Messages postés
493
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
15 juillet 2012
7
0
Merci
> est ce qu'on peut se
servir de l'HTML avec un Graphics ?

On a déjà un composant qui fait le nécessaire. Pas besoin de réinventer la roue!
Commenter la réponse de uhrand
Messages postés
845
Date d'inscription
mardi 25 avril 2006
Statut
Membre
Dernière intervention
1 août 2017
1
0
Merci
Slt.
(lool) C'est parce qu'en fait, j'aimerais imprimer un texte avec une certaine mise en forme (mise en forme faite par on porgramme au travers du code HTML généré). Je n'ai pas trouvé de méthode d'impression de ce type. C'est pourquoi je tente de créer la mienne en écrivant ce texte en html dans un Graphics pour ensuite l'imprimer (méthode print(..) de java.awt.print.PrinterJob).

merci
Commenter la réponse de didoux95
Messages postés
845
Date d'inscription
mardi 25 avril 2006
Statut
Membre
Dernière intervention
1 août 2017
1
0
Merci
Je voulais dire la méthode print( .. )  de Printable
Commenter la réponse de didoux95
Messages postés
493
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
15 juillet 2012
7
0
Merci
Les composants swing ont une méthode print(Graphics g). Il n'y a donc aucun problème pour imprimer du texte html en utilisant un JLabel.
Commenter la réponse de uhrand
Messages postés
845
Date d'inscription
mardi 25 avril 2006
Statut
Membre
Dernière intervention
1 août 2017
1
0
Merci
^^
En fait c'est parce que j'ai créer ma propre méthode print (j'y ai ajouté un cadre en entête, ...; chose simpossibles si je me sers directement de la méthode print() du composants en question), j'ai également créer ma propre boîte de dialogue (pour la sélection des propriétées d'impression).
Pour en revenir à la méthode print, je ne peux pas l'utiliser dans le cas dans lequel je me trouve (puisque j'ai tout recréer à ma sauce :p ). Cest pourquoi il me faudrais savoir si on peut écrir en html avec un Graphics (ici, c'est le graphics qui est passé en paramètre dans la méthode print(..) et donc qui correspond à la page en cours). Et si oui, comment .. ? :o)

merci
Commenter la réponse de didoux95
Messages postés
493
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
15 juillet 2012
7
0
Merci
Tu peus utiliser la méthode JComponent#print(Graphics g). Ici, c'est le graphics qui est passé en paramètre dans la méthode print(..) du Printable.
Commenter la réponse de uhrand
Messages postés
845
Date d'inscription
mardi 25 avril 2006
Statut
Membre
Dernière intervention
1 août 2017
1
0
Merci
Slt.
Ta proposition m'as fais penser a ca : je créer un JLabel dans lequel je mets mon code HTML. Je récupère ensuite le Graphics du JLabel pour y ajouter mes entêtes, ...
Je suis en train de tester cette solution. Seulement, il se trouve que lorsque je modifis le Graphics, il est "null" ...

saurais-tu pourquoi .. ? (faut-il que je l'ajoutes(/affiches) sur une JFrame ou quelque chose commen ca .. ?).
merci.
Commenter la réponse de didoux95
Messages postés
845
Date d'inscription
mardi 25 avril 2006
Statut
Membre
Dernière intervention
1 août 2017
1
0
Merci
Merci pour cet exemple, je viens de comprendre (grace à ce dernier) le fonctionnement de la méthode print() dont tu me parlais.. :p
Commenter la réponse de didoux95