Utiliser les possibilités de présentation du JTextPane

09/09/2003

Pour pouvoir appréhender le rendu du texte dans un JTextPane, un petit programme Jython très simple permet de savoir à quoi s’en tenir facilement…

Les import règlementaires ne sont pas présents dans cette page, reportez-vous au programme Jython lui-même…

La création de la fenêtre principale (dimension de 400×200) se fait de la façon suivante :

# The main frame with a JTexPane
frame = JFrame("JTextPane: color test", size=(400,200),
        defaultCloseOperation=JFrame.EXIT_ON_CLOSE)
txtpane = JTextPane()
sdoc = txtpane.getStyledDocument()
frame.getContentPane().add(JScrollPane(txtpane))
frame.visible=1

Ajout des différents styles à tester… Un nommé title en bleu, fonte 12. Un second nommé description de couleur rouge.

# various styles
titleStyle = sdoc.addStyle("title", None)
StyleConstants.setBackground(titleStyle , Color.WHITE)
StyleConstants.setForeground(titleStyle , Color.BLUE)
StyleConstants.setFontFamily(titleStyle , "dialoginput")
StyleConstants.setBold(titleStyle , 1)
StyleConstants.setFontSize(titleStyle , 12)

descrStyle = sdoc.addStyle("description", titleStyle)
StyleConstants.setForeground(descrStyle, Color.RED)
StyleConstants.setBold(descrStyle, 0)

Finalement, on ajoute du texte pour visualiser les styles

# insert the text
sdoc.insertString(0, "title: ", sdoc.getStyle("title"))
sdoc.insertString(sdoc.getLength(), "a big description about nothing in particular...",
            sdoc.getStyle("description"))

Le resultat est le suivant :

Programme de test des styles d'un JTextPane

Cet exemple est disponible sous la forme d’un fichier .py