Graphics HTML

Résolu
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 - 26 mars 2008 à 18:35
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. 

12 réponses

uhrand Messages postés 491 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 15 juillet 2012 9
28 mars 2008 à 06:57
Tu peus utiliser html dans un JLabel:
new JLabel("<html>mon texte")
3
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 2
29 mars 2008 à 18:57
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)
3
uhrand Messages postés 491 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 15 juillet 2012 9
29 mars 2008 à 20:11
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();
    }
}
3
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 2
28 mars 2008 à 17:07
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
uhrand Messages postés 491 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 15 juillet 2012 9
28 mars 2008 à 17:17
> 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!
0
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 2
28 mars 2008 à 20:09
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
0
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 2
28 mars 2008 à 20:13
Je voulais dire la méthode print( .. )  de Printable
0
uhrand Messages postés 491 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 15 juillet 2012 9
29 mars 2008 à 02:22
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.
0
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 2
29 mars 2008 à 17:09
^^
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
0
uhrand Messages postés 491 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 15 juillet 2012 9
29 mars 2008 à 18:08
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.
0
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 2
29 mars 2008 à 18:32
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.
0
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 2
29 mars 2008 à 20:42
Merci pour cet exemple, je viens de comprendre (grace à ce dernier) le fonctionnement de la méthode print() dont tu me parlais.. :p
0
Rejoignez-nous