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 :

mise en page texte JLabel avec html


Sujet :

AWT/Swing Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 40
    Points : 34
    Points
    34
    Par défaut mise en page texte JLabel avec html
    Salut,

    Je voudrais afficher une fenetre avec ceci dedans :
    Titre(centré en gras grande taille)

    1ere ligne à gauche
    2eme ligne à gauche aussi

    Voila ce que j'ai essayé de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    JLabel montexte = new JLabel("<html><center><b><FONT size=6>Un titre</center></b></FONT><br>1ere ligne de texte<br>2eme ligne de texte");
    JPanel panel1 = new JPanel();
    panel1.add(montexte);
     
    //panel1 fait partie d'un hbox1
    hBox1.add(panel1);
    Qn peut il m'aider ?
    Merci

  2. #2
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 232
    Points : 1 897
    Points
    1 897
    Par défaut
    1. Déjà le DOM HTML n'est pas bien formé : la balise <html> est ici en trop, les balises ne sont pas fermées où il le faut...

    2. Cela n'est pas très norme XHTML et CSS : pense à la séparation des données et de leur présentation, et aux balises dépréciées.

    3. Si tu désires quand même faire cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    JLabel montexte = new JLabel("<center><b><font size=6>Un titre</font></b></center>");
    4. Enfin, tu te compliques la tâche pour rien, car il existe des méthodes pour mettre le texte des JLabel en forme : regarde la javadoc pour cela.

    A+

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 40
    Points : 34
    Points
    34
    Par défaut
    Effectivement j'avais oublié la balise </html> dans le code que j'ai posté mais je l'avais bien mis qd j'ai compilé mon code dans eclipse.
    Et sinon mon problème n'est toujours pas résolu, je ne trouver pas les méthodes pour la mise en forme du texte des JLabel. Quelles sont ces méthodes et comment puis-je les utilisés pour faire ce que j'ai dis dans mon 1er post ?
    Merci

  4. #4
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 232
    Points : 1 897
    Points
    1 897
    Par défaut
    Aller, je te donne un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    labelNomApplication.setFont(new java.awt.Font("Dialog", 1, 12));
    labelNomApplication.setForeground(Color.blue);
    labelNomApplication.setBounds(new Rectangle(156, 38, 154, 25));
    Il y a plein d'autres méthodes qui te permettent d'aligner en hauteur, en largeur, par rapport à un icone.

    ... et il reste la javadoc.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 40
    Points : 34
    Points
    34
    Par défaut les methodes setbounds ne marchent pas comme voulu
    Alors j'ai testé la méthode setbouds conseillée mais sans succés. J'aimerais bien pouvoir définir l'emplacement et la taille de mes composants dans une fenetre. J'aimerai bien placer mes boutons et mes labels la ou j'ai envie mais le pb c qu'ils se retrouvent tjrs au milieu.
    Voila ce que j'ai essayé :
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
     
     
    public class TestFrame {
     
    	private JFrame frame;
    	private JPanel panel1;
    	private JLabel label1;
    	private JLabel label2;
    	private JButton button1;
    	private JButton button2;
     
    	public TestFrame()
    	{
    		frame = new JFrame();
    		frame.setLayout(new GridBagLayout());
    		panel1 = new JPanel();
    		label1 = new JLabel("label1");
    		label2 = new JLabel("label2");
    		button1 = new JButton("button1");
    		button2 = new JButton("button2");
     
    		panel1.setBounds(5, 5, 100, 100);
    		label1.setBounds(new Rectangle(5, 10, 10, 10));
    		button1.setBounds(new Rectangle(30, 30, 20, 20));
     
     
    		panel1.add(label1);
    		panel1.add(button1);
    		frame.add(panel1);
    		frame.setVisible(true);
    		frame.pack();
     
     
    	}
     
    }
    avec le main suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    public class Main {
     
    	/**
             * @param args
             */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		TestFrame myframe = new TestFrame();
     
    	}
     
    }
    avec tout ceci j'obtient un label et un bouton au milieu de ma fenetre.
    Alors si vous savez comment faire, SVP dites le moi. Merci

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 40
    Points : 34
    Points
    34
    Par défaut
    Hello,
    Merci de bien vouloir répondre si vous savez.
    Je ne vois vraiment pas ou est l'erreur, je veux simplement placer un label et un bouton à un endroit que je décide et pas au centre commen c'est le cas par défaut. Je souhaite changer la taille de mes composants et leur donner une taille que je veux et pas une taille par défaut.

    Est ce possible ?

  7. #7
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    C'est tout simple l'erreur...

    Tu mets un GridBagLayout sur ton panel et tu veux ensuite placer tes composants de manière absolue...

    Si tu veux placer des composants de manière absolue, il faut que le conteneur n'ait pas de layout (layout à null) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    conteneur.setLayout(null);

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 40
    Points : 34
    Points
    34
    Par défaut
    Merci bcp.
    J'avais fini par trouver l'erreur moi même après avoir cherché assez longtemps.
    En tout cas c'est gentil à toi wichtounet, merci quand même.

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

Discussions similaires

  1. Mise en page d'Excel avec VB6 ?
    Par sebajedi dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 19/12/2006, 14h01
  2. [CSS] php mise en page texte
    Par xtiand4 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 14/06/2006, 17h14
  3. Problème mise en page sous IE avec fonction Php
    Par Yekhen dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 17/05/2006, 00h49
  4. JLabel avec HTML mais texte déborde
    Par Belegkarnil dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 28/02/2006, 12h18
  5. [Html/Css] Problème mise en page texte
    Par Myogtha dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 07/12/2005, 14h21

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