J'utilise un JTextPane pour éditer du HTML. Lorsque j'entre les nouvelles lignes dans le composant GUI et appelez getText() sur le JTextPane, j'obtiens une chaîne avec des caractères de retour à la ligne. Si je crée ensuite un nouveau JTextPane et que je transmets le même texte, les retours à la ligne sont ignorés.HTML JTextPane newline support
Pourquoi JTextPane n'insère-t-il pas une balise <br> lors de la saisie d'une nouvelle ligne? Y a-t-il une bonne solution pour cela?
JTextPane test = new JTextPane();
test.setPreferredSize(new Dimension(300, 300));
test.setContentType("text/html");
test.setText("Try entering some newline characters.");
JOptionPane.showMessageDialog(null, test);
String testText = test.getText();
System.out.println("Got text: " + testText);
// try again
test.setText(testText);
JOptionPane.showMessageDialog(null, test);
testText = test.getText();
System.out.println("Got text: " + testText);
Exemple de sortie:
<html>
<head>
</head>
<body>
Try entering some newline characters.
What gives?
</body>
</html>
Je me rends compte que je pouvais convertir les nouvelles lignes à des sauts de ligne HTML avant d'appeler setText, mais qui transformerait les sauts de ligne après les balises HTML et BODY aussi bien, et semble stupide.
Quelle est votre sortie désirée de getText()? Qu'obtenez-vous? –