2011-08-13 3 views
3

Existe-t-il un moyen de mettre en retrait un bloc de texte dans un JTextPane?Indentation JTextPane


import javax.swing.*; 
import java.awt.*; 
import javax.swing.text.StyledDocument; 

public class SimpleTextPane { 

    public static void main(String... args){ 
     JFrame frame = new JFrame(); 
     JTextPane textPane = new JTextPane(); 
     textPane.setPreferredSize(new Dimension(400, 400)); 
     StyledDocument doc = textPane.getStyledDocument(); 
     try { 
      doc.insertString(doc.getLength(), "Now he has departed from this strange world a little ahead of me. That means nothing. People like us, who believe in physics, know that the distinction between past, present, and future is only a stubbornly persistent illusion", doc.getStyle("")); 
      doc.insertString(doc.getLength(), "\n\n" + "I WOULD LIKE TO BE INDENTED Yes, we have to divide up our time like that, between our politics and our equations. But to me our equations are far more important, for politics are only a matter of present concern. A mathematical equation stands forever.", doc.getStyle("")); 
     } catch (Exception e) { 
     } 
     frame.getContentPane().add(new JScrollPane(textPane)); 
     frame.setLocationRelativeTo(null); 
     frame.pack(); 
     frame.setVisible(true); 
    } 
} 
+0

voulez-vous dire justifié? Aligné à droite? Centré? Je ne fais que mettre le code en retrait. – Snicolas

+0

Indentée comme dans la deuxième chaîne insérée est indentée par un nombre spécifié d'espaces ou d'onglets pour chaque ligne dans le JTextPane. –

+0

Ne pourriez-vous les ajouter à la main? Je veux dire avec une méthode dédiée? – Snicolas

Répondre

1

EDIT:

Utilisez setLeftIndent()

Vérifiez this example et this one

+0

Ce ne sont pas des méthodes pour un JTextPane, elles sont pour un JTextArea. Un JTextPane automatiquement mot enveloppe, ce qui n'était pas ma question de toute façon. Merci. –

+0

@farm autruche voir la mise à jour! –

+0

Cela a fonctionné. J'apprécie l'aide. –