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 :

StyledDocument : plusieurs alignements


Sujet :

AWT/Swing Java

  1. #1
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut StyledDocument : plusieurs alignements
    Salut !
    Voila j'ai un JTextPane auquel j'ai associé un styled document.
    J'insère du texte au fur et à mesure et suivant le texte, le style n'est pas le même (rouge, gras, italique...).
    J'aimerai jouer sur l'alignement du texte mais je n'y arrive pas.
    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
     
    private void initDocument() {
    		// Initialize some styles.
    		Style def = StyleContext.getDefaultStyleContext().getStyle(
    				StyleContext.DEFAULT_STYLE);
     
    		Style regular = doc.addStyle("normal", def);
    		StyleConstants.setFontFamily(def, "Courier New");
     
    		Style s = doc.addStyle("--", regular);// error
    		StyleConstants.setForeground(s, new Color(250, 0, 0));
     
    		s = doc.addStyle("##", regular);// break
    		StyleConstants.setForeground(s, new Color(0, 64, 128));
     
    		s = doc.addStyle("**", regular);// conversion
    		StyleConstants.setForeground(s, new Color(120, 64, 0));
     
    		s = doc.addStyle("$$", regular);// parsing
    		StyleConstants.setForeground(s, new Color(0, 128, 128));
     
    		s = doc.addStyle("++", regular);// ok
    		StyleConstants.setForeground(s, new Color(0, 128, 0));
     
    		s = doc.addStyle("info", regular);// information
    		StyleConstants.setAlignment(s, StyleConstants.ALIGN_CENTER);
    		StyleConstants.setForeground(s, new Color(170, 55, 0));
    	}
    Je voudrais que seulement le texte associé au style "info" soit centré ? comment puis-je procéder ?
    Merki !
    +++
    Ju

  2. #2
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut
    En même temps si on pouvait me dire comment faire pour insérer un icone suivi d'un texte car pour l'instant avec StyleConstants.setIcon(monStyle, new ImageIcon("monicon.gif")); je n'ai que l'icone alors que je voudrais aussi le texte !
    Merci !

  3. #3
    Membre éprouvé
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Par défaut
    Je pense que pour inserer une icone, tu dois utiliser l'instance de ton JTextPane et la méthode insertIcon(Icon icon). Tu n'as cas utiliser cette méthode puis la méthode pour insérer du texte a la suite.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    select(styledDoc.getLength(), styledDoc.getLength());//Pour la mettre a la fin
    tonJTextPane.insertIcon(monIcon);
    Pour la premiere question, je ne vois pas vraiment désolé. Je vais me renseigner.
    Bonne chance.

  4. #4
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut
    Ok merci pour l'insertion d'icone, ca fonctionne
    Par contre pour l'alignement c'est toujours la galère

  5. #5
    Membre éprouvé
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Par défaut
    Peut etre peux tu utiliser les valeurs de SwingConstants avec une méthode genre insertText(String text, int position) ?
    [EDIT]Fausse info : SwingConstants n'est pas implémenté par JTextPane, seulement par JTextField. Désolé....

  6. #6
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut
    J'ai trouvé ca sur le net, en le bidouillant un peu ca a l'air de fonctionner...
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.text.*;
     
    public class TextPaneAttributes extends JFrame {
    	public TextPaneAttributes() {
    		JTextPane textPane = new JTextPane();
    		StyledDocument doc = textPane.getStyledDocument();
     
    		// Set alignment to be centered for all paragraphs
     
    		MutableAttributeSet standard = new SimpleAttributeSet();
    		StyleConstants.setAlignment(standard, StyleConstants.ALIGN_CENTER);
    		doc.setParagraphAttributes(0, 0, standard, true);
     
    		// Define a keyword attribute
     
    		MutableAttributeSet keyWord = new SimpleAttributeSet();
    		StyleConstants.setForeground(keyWord, Color.red);
    		StyleConstants.setItalic(keyWord, true);
     
    		// Add initial text
     
    		textPane.setText("one\ntwo\nthree\nfour\nfive\nsix\nseven\neight\n");
     
    		// Highlight some keywords
     
    		doc.setCharacterAttributes(0, 3, keyWord, false);
    		doc.setCharacterAttributes(19, 4, keyWord, false);
     
    		// Add some text
    		StyleConstants.setAlignment(standard, StyleConstants.ALIGN_LEFT);
    		doc.setParagraphAttributes(0, 10, standard, true);
    		try {
    			doc.insertString(0, "Start of text\n", null);
    			doc.insertString(doc.getLength(), "End of text\n", keyWord);
    		} catch (Exception e) {
    		}
     
    		// Add text pane to frame
     
    		JScrollPane scrollPane = new JScrollPane(textPane);
    		scrollPane.setPreferredSize(new Dimension(200, 200));
    		getContentPane().add(scrollPane);
     
    		// Add a bold button
    		JButton button = new JButton("bold");
    		getContentPane().add(button, BorderLayout.SOUTH);
    		button.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				new StyledEditorKit.BoldAction().actionPerformed(null);
    			}
    		});
     
    	}
     
    	public static void main(String[] args) {
    		TextPaneAttributes frame = new TextPaneAttributes();
    		frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
    		frame.pack();
    		frame.setVisible(true);
    	}
    }
    Je pense que je vais me débrouiller avec ca
    Merki !
    +++
    Ju

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

Discussions similaires

  1. Alignement de plusieurs div entre eux
    Par polo66 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 29/01/2009, 12h51
  2. [FPDF] Aligner plusieurs MultiCell dans un tableau
    Par Lenezir dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 05/03/2008, 20h24
  3. Positionnement et alignement de plusieurs cadres
    Par Nocud dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 02/12/2007, 12h39
  4. Aligner plusieurs "form" horizontalement..
    Par vins25 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 15/01/2006, 09h24
  5. Aligner plusieurs images en 1 seules lignes
    Par guy2004 dans le forum Mise en page CSS
    Réponses: 10
    Dernier message: 19/11/2005, 15h08

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